A
a
=
new
B();其中B是A的子类,那么这样写没有错。反过来写就有错,因为父类没有子类的一部分方法(可以这么理解)。至于有什么用,这个问题很深奥啊,这个和编程思想有关系,这种写法比较好。一般用父类new子类,可以理解为比如一个鸟的类型,下面有许多子类,我们不用关心new的是什么鸟,因为他们都有相同的父类方法只是实现的时候不一样。可以看看java编程思想,多理解一下,具体我也说不清楚
Test1 t1 = new Test() //这才是向上转型new Test()是子类对象,但是被父类的引用t1指向了,父类引用指向子类对象,所以是向上转型。
new 是为对象分配空间的,但是没有被指向,所以需要Test obj = new Test()obj来指向它,否则后面无法使用到此对象
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)