java 继承 覆盖

来源:互联网 发布:pvc管自制笛子开孔数据 编辑:程序博客网 时间:2024/05/17 08:03

1.1继承一般类:

class testnum{

    static int i=0;                                             a2           //如果a2此处加上private,并且注释掉a1 num类中的语句都编译不通过,尽管tt对象是父类类型的,但不是父类。

   int j=9;

}

public class num extends testnum{
    int i=33;                                                      a1.
    public static void main(String args[])
    {
        testnum tt=new num();        
        System.out.println(tt.i);       //  1.1 因为对象tt是testnum父类的类型,所以这儿的i是父类中的 static i
        tt.i=11;
        System.out.println(tt.i);
        num nu=new num();

        System.out.println(testnum.i);      //1.2 如果注释掉a1,就是没有覆盖父类中的static i,那么此处编译通过,因为继承了父类中静态成员;

                                                                    如果不住是,编译错误,因为覆盖后的变量不是静态的。

        System.out.println(num.i);
        System.out.println(nu.i);
        nu.i=44;

        System.out.println(nu.i);


        int j=0;

        System.out.println(tt.i);            //1.3 此处会输出9,因为tt是testnum类型的,所以i此处是继承来的。

    }
}
0 0
原创粉丝点击