关于java父子类同名属性

父子类的同名属性并不会直接覆盖掉,而是存在不同的域当中,静态引用是谁的属性那最后访问的就是谁的属性,要设置或获取访问父类的属性可以用super

康康别人的

静态方法的重写是绑定静态引用的
在这里插入图片描述

public class TT {
    
    
    public static void ss(){
    
    
        System.out.println("f");
    }
    public static void main(String[] args) {
    
    
        TT.ss();
        S.ss();
        TT s=new S();
        s.ss();
    }
}

class S extends TT{
    
    
    public static void ss(){
    
    
        System.out.println("s");
    }
}

结果
静态方法只会和静态的类有关,S隐藏了父类的静态方法
而s编译时绑定应该是TT类。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_36976201/article/details/108876514