为何A's c is here 也要输出?class A
{
public A()
{
System.out.println("A's c is here ");
}
void println()
{
System.out.println("A's v is here ");
}
}class B extends A
{
public B()
{
System.out.println("B's c is here ");
}
void println()
{
System.out.println("B's v is here ");
}
}public class Chp_4_2
{
public static void main(String[] args)
{
B b = new B(); }
}
{
public A()
{
System.out.println("A's c is here ");
}
void println()
{
System.out.println("A's v is here ");
}
}class B extends A
{
public B()
{
System.out.println("B's c is here ");
}
void println()
{
System.out.println("B's v is here ");
}
}public class Chp_4_2
{
public static void main(String[] args)
{
B b = new B(); }
}
1 初始化本类中类变量为null或者0
2 调用父类的构造方法
3 类成员变量赋值、类成员体执行
4 调用子构造函数其中上述过程是递归的过程
因为class B extends class A
所以你可以这样看B的构造方法
public B()
{
super();
System.out.println("B's c is here ");
}所以 A's c is here 会输出