package com.cn.test9;
//父类和子类的调用关系
//先加载父类的静态变量,然后是子类的静态变量。当new一个子类时,加载父类的非静态变量,然后是父类的构造函数,再然后是子类的非静态变量和子类的构造函数
public class Beetle extends Insect {
private int k=printInit("Beetle.k initialized");
public Beetle(){
System.out.println("k="+k);
System.out.println("j="+j);
System.out.println(k);
}
private static int x2=printInit("Static bettle.x2 initialized");
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Bettle constructor()");
Beetle b=new Beetle();
//
// aa demo=new aa();
//
// System.out.println(demo.a);
}
}
class Insect{
private int i=9;
protected int j;
int f=printInit("ninhao");
Insect(){
System.out.println("i="+i+",j="+j);
j=39;
}
private static int x1=printInit("static Insect.x1 innitialized");
static int printInit(String s){
System.out.println(s);
return 47;
}
}
父类和子类的调用关系:先加载父类的静态变量,然后是子类的静态变量。当new一个子类时,加载父类的非静态变量,然后是父类的构造函数,再然后是子类的非静态变量和子类的构造函数
最新推荐文章于 2022-01-02 21:26:09 发布