多态:
一个事务有多种不同的形态变化;
父类的引用指向了子类的对象, (向上转型)Fu fu = new Zi();
继承必须子类重写父类的(非静态)方法;
父类调用子类独有的方法(向下转型)Zi zi=(Zi)fu;
向下转型的前提必须有向上转型;
提高了代码的维护性,提高了代码的扩展性;
代码实现:
class Fu {
public void fu(){
System.out.println("");
}
}
class Zi1 extends Fu{
public Zi1(){
System.out.println("我是大儿子");
}
}
class Zi2 extends Fu{
public Zi2(){
System.out.println("我是小儿子");
}
public void duyou(){
System.out.println("子类独有方法");
}
}
class Test{
public static void main(String[] args) {
Fu fu1 = new Zi1();//向上转型
Fu fu2 = new Zi2();
fu1.fu();
fu2.fu();
Zi2 zi2 =(Zi2) fu2;//向下转型 调用子类独有方法
zi2.duyou();
}
}