在子类继承父类全部的方法情况下,不同的子类都要实现,可以用多态实现,节省时间和内存;
public static void main(String[] args){
c C=new c(2.0,3.0);
mm(C);//引用mm的方法,mm方法自动转换!
}
//实现父类的方法
public static void mm(A a){
a.zhuanchang();
a.mianj();
多态下的强制类型转换:
如果子类用父类没有的函数。在多态应用下就可以用强制类型转换;
父类 B=new 子类();
子类 A=(子类)B;
A.方法();
Animal a = new Mouse("老鼠"); //多态
//调用子类特有的方法
Mouse m = (Mouse)a; //强制类型转换
m.dig();
public static void main(String[] args)
{
Mouse m = new Mouse("米老鼠");
Fish f = new Fish("草鱼");
print(f);
}
//需求: 定义一个函数可以接收任意类型的动物对象,在函数内部要调用到动物特有的方法。
public static void print(Animal a){ // Animal a = new Mouse("米老鼠");
if(a instanceof Fish){
Fish f = (Fish)a;
f.bubble();
}else if(a instanceof Mouse){
Mouse m = (Mouse)a;
m.dig();
}