Java子类对象赋值给父类对象的问题

来源:百度知道 编辑:UC知道 时间:2024/06/20 23:29:56
public class UseCase2 {
public void doSomething(){
System.out.println("父类.doSomething()");
}
public void doAnything(){
System.out.println("父类.doAnything()");
}
public static void main(String args[]){
UseCase2 u=new sub();
u.doSomething();
u.doAnything();
}
}
class sub extends UseCase2{
public void doAnything(){
System.out.println("子类.doAnything()");
}
}
中,为什么不直接写UseCase2 u=new UseCase();这样既能用子类的方法,还可以写父类中没有的方法。
UseCase2 u=new sub();这样有什么好处啊,我觉得没什么好处啊,请高手指点下!!

UseCase是基类
UseCase2 u=new UseCase();只能用UseCase的方法
而UseCase2 u=new sub(); 定义sub类对象的同时也初始化了UseCase2,这是可以同时用子类和父类的方法!
Sub extends UseCase2的意思是Sub是子类,从UseCase2中继承的

希望你能明白~hehe,有问题给我message

UseCase2 u=new sub();在这里经历了一次向上转型
sub继承自UseCase2,这样u可以调用父类的方法,也可调用子类的方法