黑马程序员技术交流社区
标题:
子类实例化
[打印本页]
作者:
msileandroid
时间:
2013-6-14 20:25
标题:
子类实例化
class A
{
A(){}
}
class B extends A
{
B(){}
}
class C extends B
{
C(){}
}
如上面继承关系,如果new C();A类B类C类字节码是否都会被加载到内存中?????{:3_68:}
作者:
peerless2012
时间:
2013-6-14 20:30
当然会了,创建c的实例对象的时候,会调用父类的构造函数,那么父类肯定会被调到内存中了
作者:
′х.|鰉❤耔
时间:
2013-6-14 23:36
这个就好比你在一个类中写一个内部类一样,只要你实例这个外部类那么就会连同内部类一起给实例出来的。
作者:
孙百鑫
时间:
2013-6-15 06:57
楼主您好.如果问题得解决的话.请及时将主题该成已解决哦~
作者:
李九一
时间:
2013-6-15 07:40
C类的对象会继承A类和B类的所有属性
作者:
萧萧北
时间:
2013-6-15 09:01
class C extends B
{
//super(); //此处会默认调用父类的构造函数,相当于有个默认的super()方法
C(){}
}
复制代码
所以答案是父类肯定会分配到内存空间
作者:
张承富
时间:
2013-6-15 12:00
public class ExtendsTest
{
public static void main(String[] args){
C c=new C();
}
public static void sys(Object o){
System.out.println(o);
}
}
class A
{
A(){
System.out.println("A");
}
}
class B extends A
{
B(){
System.out.println("B");
}
}
class C extends B
{
C(){
System.out.println("C");
}
}
复制代码
先用代码说话,你看的就比较明白了,new 一个类的时候,他的父类都会被实例化,所以都会加载
作者:
孙百鑫
时间:
2013-6-22 01:20
楼主您好~帖子长时间未作出回答,我已经将您的帖子改成已解决。如果有问题的话可以私密我哦~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2