//有人说:第一个程序会先产生A对象
class A
{
public static void main(String args[])
{
A x=new B();
}
}
class B extends A
{}
//有人说:第二个程序会先产生B对象
class A
{
public static void main(String args[])
{
A x=new B();
}
}
class B extends A
{}请问一下,他们谁说的对啊?正确的应当是什么样的啊?
class A
{
public static void main(String args[])
{
A x=new B();
}
}
class B extends A
{}
//有人说:第二个程序会先产生B对象
class A
{
public static void main(String args[])
{
A x=new B();
}
}
class B extends A
{}请问一下,他们谁说的对啊?正确的应当是什么样的啊?
A 是B 的父类
在产生B对象是就要先调用A的相应的构造方法产生A 然后再调用B的构造方法
你给的代码中没有写构造方法所以编译器会自动给你添加一个没有参数的构造方法
所以 第一个程序会先产生A对象
然后在产生B对象
如果想了解的更透彻的话还是不代码如何在内存中运行搞清楚比较好