java父类子类中静态非静态的关系

来源:互联网 发布:靠谱的网络招聘平台 编辑:程序博客网 时间:2024/06/05 18:04

父类TestA子类TestB

package test;


public class TestB extends TestA{

//子类静态变量

    public static int a=3;

//子类构造方法

public TestB(){System.out.println("B构造方法");}

//子类非静态代码块

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

static {System.out.println("static b 代码块");}

//子类静态方法

public static void aa(){System.out.println("bbb");}

//子类非静态方法

public  void aaa(){System.out.println("bbbb");}

//main方法

public static void main (String[] args){
    {System.out.println("i'm main");}
    new TestA();
    TestA testa=new TestB();
    System.out.println(testa.a);
    testa.aa();
    testa.aaa();
}
}

class TestA{

//父类静态变量

    public static int a=2;

//父类构造方法

    public TestA(){
        System.out.println("A构造方法");
    }
    //父类非静态代码块
    {System.out.println("非static a 代码块");}
    //父类静态代码块

     static {System.out.println("static a 代码块");}

//父类静态方法

     public static void aa(){System.out.println("aaa");}

//父类非静态方法

     public  void aaa(){System.out.println("aaaa");}

}

结果:

static a 代码块
static b 代码块
i'm main
非static a 代码块
A构造方法
非static a 代码块
A构造方法
非static b 代码块
B构造方法
2
aaa
bbbb


0 0
原创粉丝点击