个人理解:多态就是多种形态,气是水的一种形态,冰也是水的一种形态,只是我们看到的外表不一样!
①多态的前提:
一:继承
class ZI extend Fu{}
二:父类引用指向子类对象
class Fu {}
class Zi {}
class test{
Fu fu = new Zi();
}
三:方法重写(这里要注意,重写和重载不一样,重写即覆盖,重载即不同,而且静态方法是不能被重写的)
类里有三种元素,成员变量,成员方法,静态方法(静态方法不能被重写)!在里面我们要注意一点,很重要的一点,运行与编译对于这三种元素的处理方法不一样。成员变量(编译运行全部看父类)静态方法(编译看父类,运行看子类!即编译时会把静态方法当作父类处理)成员方法(编译运行都看父类)
②多态的注意点:多态后子类的特有的方法和属性(即没有被继承的)是不能使用的
③多态的向上转型和向下转型(均在多态的前提下,才有向上和向下转型)
向上转型:即使用父类
向下转型:即强制使用子类
Fu fu = new Zi();
Zi zi =(Zi) fu ;