検索

ホームページ  >  に質問  >  本文

java - 面试题:请问,以下哪些修饰符可以使其修饰的变量只能对同包类或子类有效?

如题这个答案正确吗?

package com;

public class TestParent {
    protected String protectedStr="protected";
    String defaultStr="default";

    private void method() {

    }
    void abm(){
        
    }

    protected void proabc(){
        
    }
}
package com;

public class TestSon extends TestParent{

    private void test(){
    
        
    }
}
package com;

class Main {

    static public void main(String[] args) {

        TestParent parent = new TestParent();
        TestSon son = new TestSon();
        parent.abm();//default method 
        son.abm();//default method 
        System.out.println(parent.protectedStr);
        System.out.println(parent.defaultStr);

        // -------------
        parent.proabc(); //protected method 
        son.proabc(); //protected method 
        System.out.println(son.protectedStr);
        System.out.println(son.defaultStr);

    }

}
天蓬老师天蓬老师2804日前1978

全員に返信(1)返信します

  • PHP中文网

    PHP中文网2017-04-18 10:52:56

    範囲 現在のクラス 現在のパッケージ 子孫 その他のパッケージ
    公開
    保護されています ×
    フレンドリー × ×
    プライベート × × ×

    書かない場合はデフォルトでフレンドリーになります

    Cを選択しても問題ありません

    返事
    0
  • キャンセル返事