什么是多态
一句话概括:父类对象引用子类变量 调用的是子类的实现
例子:chinese 类 以及chinese的父类person ,调用chinese类的实现。
子类
public class Chinese extends Person{ public void hello() { System.out.println("我是中国人"); } public void baimian() { System.out.println("我来拜年了"); } }
父类:
public class Person { public void hello() { System.out.println("我是人类"); }
主程序:
public class main { public static void main(String []args) { Person p =new Chinese(); p.hello();//实际指向的对象是chinese的对象,调用的是子类的对象 //能调用什么方法取决于变量的类型 //所以没有bainian这个方法 } }
总结 :父类变量指向子类的对象的时候,实现实际上是实现子类的方法,但是能调用什么方法取决于父类的变量是什么类型的,题中无法调用子类的bainian方法
根据传入的参数决定创建什么类型的对象
public static Person createPerson(int i) { if(i==3) { return new Chinese(); } else { return new Person(); } }
主程序执行这句话后结果是?
Person p2=createPerson(3); p2.hello();
结果:
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228843.html原文链接:https://javaforall.net
