/*
多态的弊端:
不能使用子类的特有功能。
我就想使用子类的特有功能?行不行
行。
怎么用呢?
A:创建子类对象调用方法即可。(可以,但是很多时候不合理。而且,太占内存了)
B:把父类的引用强制转换为子类的引用。(向下转型)
对象间的转型问题:
向上转型:
Fu f = new Zi();
向下转型:
Zi z = (Zi)f;//要求该f必须能够转换为Zi的。
*/
class Fu{
public void show(){
System.out.println("show Fu");
}
}
class Zi extends Fu{
public void show(){
System.out.println("show Zi");
}
public void method(){
System.out.println("method Zi");
}
}
class DouTaiDemo4{
public static void main(String[] args){
//测试
Fu f = new Zi();
f.show();
//f.method();
//创建子类对象
//Zi z = new Zi();
//z.show();
//z.method();
//能够把子类赋值给父类,那么能不能把父类的引用赋值给子类的引用呢?
//如果可以,格式如下:
Zi z = (Zi)f;
z.show();
z.method();
}
}
面向对象_多态中向上转型和向下转型
最新推荐文章于 2025-03-12 08:39:39 发布