java 继承 覆盖

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此处是继承来的。

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值