java多态需要注意的地方
多态的存在方式:
1、有子父类继承,2、子类重写父类方法,3、父类是子类对象的引用
多态子父类中的成员变量和成员方法之间的关系:
1、成员变量:父类有,子类有,拿父类的成员方法
父类有,子类没有,拿父类的成员方法
父类没有,子类有,编译报错
2、成员方法:父类有,子类有,拿子类的成员方法,子类的成员方法需要重写
父类有,子类没有,拿父类的成员方法
父类没有,子类有,编译报错
由以上可以看出:多态,成员变量和成员方法在父类中必须是存在的。子类中特有的方法,不可以用多态new出来的对象来进行方法的调用。
向上转型:父类 fu = new 子类();//父类是子类的对象的引用
向下转型:子类 zi = (子类)fu;//强转型
以下例子:猫类和狗类都继承了Animal这个类,
用法:当形需要传入参数为父类的对象时,形参可以传入子类对象:
用调用父类的方法时,可以传入子类的对象: