package StringDemo1;
class father
{ static father f=new father();//产生第一输出1.这是父类的show方法
father()
{
show();
}
public void show()
{
System.out.println("这是父类的show方法");
}
}
class son extends father
{ static int c;//2.0和static son s同时初始化
public static son s=new son();//2.0加载完父类的静态属性后,加载子类静态属性(走一遍构造器)
int num=8;
son()
{
super();//2.1 这是子类的show方法00(此时num还为初始化)
//static son s=new son()的成员变量开始初始化; s.num被赋予8;
show();//3.0产生这是子类的show方法80
++c;
}
@Override public void show()
{
System.out.println("这是子类的show方法"+num+c);
}
}
public class constructionDemo {
public static void main(String[] args)
{
new son();/*开始主函数产生对象;子构造器先调用被覆
写过的super()方法;产生4.0这是子类的show方法01
再该对象的num赋值 输出5.0这是子类的show方法81
// TODO Auto-generated method stub
*/
}
}
/*outer
* 1.0这是父类的show方法
2.0这是子类的show方法00
3.0这是子类的show方法80
4.0这是子类的show方法01
5.0这是子类的show方法81
*/
JAVA对象创建加载过程。
最新推荐文章于 2024-05-25 16:30:12 发布