发布网友 发布时间:2022-04-23 13:32
共2个回答
热心网友 时间:2023-10-15 20:27
可以,但必须满足一个条件,向下转型时必须知道当前对象是子类的对象。
热心网友 时间:2023-10-15 20:28
class A{
int age;
String name;
}
class B extends A{
String telephone;
}
这里B具有三个字段,age,name,telephone。
如果
A a = new B();
那么将会丢弃B的telephone字段,但是还是可以得到一个完整的A对象。
但是如果
B b = new A();
此时,A并没有telephone字段,并不能得到一个完整的B对象。
不知道通过这个列子你能否懂得。
或者从语义上来说,
汽车,火车,飞机,都是交通工具,汽车火车,飞机都是交通工具的子类。
你可以说汽车火车,飞机都是交通工具,但是不能说交通工具是汽车,或者交通工具就是火车,飞机。
热心网友 时间:2023-10-15 20:27
可以,但必须满足一个条件,向下转型时必须知道当前对象是子类的对象。
热心网友 时间:2023-10-15 20:28
class A{
int age;
String name;
}
class B extends A{
String telephone;
}
这里B具有三个字段,age,name,telephone。
如果
A a = new B();
那么将会丢弃B的telephone字段,但是还是可以得到一个完整的A对象。
但是如果
B b = new A();
此时,A并没有telephone字段,并不能得到一个完整的B对象。
不知道通过这个列子你能否懂得。
或者从语义上来说,
汽车,火车,飞机,都是交通工具,汽车火车,飞机都是交通工具的子类。
你可以说汽车火车,飞机都是交通工具,但是不能说交通工具是汽车,或者交通工具就是火车,飞机。