这是我从书里看到的代码。问题有下: 1:我删除1中的代码,程序输出不变,是不是1中的代码可有可无? 2:2为下溯造型,但我将2删除后打3的代码进去,程序输出不变,用2不用3的代码是为什么? 3:下溯造型有什么用?我看别人说的贴,说下溯造型不安全,加instanceof更安全;但不知下溯造型是用来干嘛的? 4:软件工程专业,我人好奇心较重,不要怪我问题多!!!
public class Animals {
void breathe() {
System.out.println("AAA");
}
final static void live(Animals an) { //1
an.breathe(); //1
}
}
class Fish extends Animals{
void swim(){
System.out.println("我会游泳");
}
}
class jhi{
public static void main(String[] args){
Animals an=new Fish();
an.breathe();
Fish f=(Fish) an; //2
f.swim(); //2
Fish f2=new Fish(); //3
f2.swim(); //3
}
}
北顾岛城
相关分类