您的位置:首页 > 编程语言 > Java开发

java继承中父类和子类静态、非静态代码块,构造函数,静态方法的执行顺序

2017-04-14 15:25 721 查看
Father

package zjq.test.initialize;

public class Father {
static{
System.out.println("父类的静态代码块");
}

{
System.out.println("父类的非静态代码块");
}

public Father(){
System.out.println("父类的无参构造函数");
}

public Father(int a){
System.out.println("父类的有参构造函数");
}

public static void print(){
System.out.println("父类的静态方法,会重写");
}

public static void printFather(){
System.out.println("父类的静态方法");
}
}


Sun

package zjq.test.initialize;

public class Sun extends Father{
static{
System.out.println("子类的静态代码块");
}

{
System.out.println("子类的非静态代码块");
}

public Sun(){
System.out.println("子类的无参构造函数");
}

public Sun(int a){
System.out.println("子类的有参构造函数");
}

public static void print(){
System.out.println("子类的静态方法,重写父类");
}

public static void printSun(){
System.out.println("子类的静态方法");
}
}


Test

package zjq.test.initialize;

public class Test {
public static void main(String[] args) {
new Sun();
Sun.print();
System.out.println("-----------------");
new Sun(1);
}
}


结果:
父类的静态代码块

子类的静态代码块

父类的非静态代码块

父类的无参构造函数

子类的非静态代码块

子类的无参构造函数

子类的静态方法,重写父类

-----------------

父类的非静态代码块

父类的无参构造函数

子类的非静态代码块

子类的有参构造函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐