Java 字段隐藏

package _03面向对象.继承.B;

/**
 * 字段隐藏
 * super
 * @author 码蚁小强
 *
 */
class SuperClass{
    String name = "myxq";
    int age;
    
    public static void test1(){
        System.out.println("sup test1");
    }
}

public class SubClass extends SuperClass{
    
    //子类和父类当中有相同的静态方法,这时候我们称它是方法的隐藏
    public static void test1(){
        System.out.println("sub test1");
    }
    

    String name = "123";
    
    //this.字段或方法 先到本类当中去找指定的内容,如果没有,再去到父当中去找。
    //如果父类有, 再去看一下父类允不允许继续 ,如果允许就使用父类的。
    //super  直接 到父类当中去找。
    //使用super可以访问父类被隐藏的字段 
    void test(String name) {
        System.out.println(this.name);
        System.out.println(super.name);
    }
    
    public static void main(String[] args) {
        SubClass sub = new SubClass();
        sub.test("1");
        SubClass.test1();
        SuperClass.test1();
    }
    /**
     * 隐藏:
     * 1.隐藏父类当中的字段  子类当中 和父类当中有相同 的字段     继承字段隐藏  super.字段
     * 2.隐藏父类的静态方法  子类和父类有相同的静态方法,
     * 3.本类字段隐藏      方法参数和本类字段名相同      this.字段
     */
    
}

你可能感兴趣的:(Java 字段隐藏)