栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java多态

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java多态

即同一方法可以根据发送对象的不同而采用多种不同的行为方式
一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多

多态存在的条件

  • 有继承关系
  • 子类重写父类的方法
  • 父类引用指向子类的对象 Father f1 = new Son();

注意:多态是方法的多态,属性没有多态性

package com.study.oop.demo07;

public class Person {

    public void run(){
        System.out.println("father run");
    }
}
package com.study.oop.demo07;

import com.study.oop.demo07.Person;

public class Student extends Person {

    public void run(){
        System.out.println("son run");
    }

    public void eat() {
        System.out.println("son eat");
    }
}
package com.study.oop;

import com.study.oop.demo06.A;
import com.study.oop.demo06.B;
import com.study.oop.demo07.Person;
import com.study.oop.demo07.Student;


public class Application {

    public static void main(String[] args) {

        //一个对象的实际类型是确定的
        //new Student()
        //new Person()

        //可以指向的引用类型不是确定的
        //Student 能调用的方法都是自己的或者继承父类的
        Student s1 = new Student();
        s1.run();
        //父类的引用指向子类     **非常重要**
        //Person 父类,可以指向子类,但是不能调用子类独有的方法
        Person s2 = new Student();
        s2.run();  //子类重写了父类的方法,执行子类的方法     **非常重要**
        Object s3 = new Student();
        //对象能执行哪些方法,主要看对象左边的类型,和右边关系不大
        s1.eat();

        //Java的中的方法调用,是运行时动态确定的,运行之前不知道能被哪个方法调用

    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/592346.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号