Javaオブジェクト指向のプライベート

1.クラス

パッケージcn.itcast.day06.demo03; 

/ * 
基本的なタイプの中でブール値のために、メソッドは、フォームゲッターisXxxで記述する必要があります、とのsetXXXは変わらないルール。
 * / 
パブリッククラスの学生{ 

    プライベート文字列名; //名前
    のプライベートint型の年齢; //年齢
    プライベート男性ブール; //男の子ではない

    公共のボイドsetMale(ブールB){ 
        MALE = B; 
    } 

    パブリックブールIsMale(){ 
        リターンMALE; 
    } 

    公共ボイドのsetName(文字列STR){ 
        名前= STR; 
    } 

    パブリック文字列のgetName(){ 
        戻り名; 
    } 

    公共ボイドsetAge(INT NUM){ 
        年齢= NUMは; 
    }
 
    公共のint getAge(){
        年齢を返します。
    } 
}

2.オブジェクト

パッケージcn.itcast.day06.demo03; 

publicクラスDemo03Person { 

    メインパブリック静的ボイド(文字列[]引数){ 
        人人=)新しい人(新; 
        person.show(); 

        PERSON.NAME = "趙麗穎"; 
//人。年齢= -20;プライベート・コンテンツ、間違った文言に//直接アクセス!
        person.setAge(20)と; 
        person.show(); 
    } 

}

3.間接アクセスプライベートメンバ変数

以下のためのパッケージ変更cn.itcast.day06.demo03; 

/ * 
問題の説明:あなたは人の年齢を定義すると、不当な値がでてくるように設定されて防ぐことはできません。
ソリューション:秘密鍵はメンバ変数を変更することができ、保護する必要があります。

変更され、その後、このクラスの私的使用後は、まだ自由にアクセスすることができました。
しかし!もはやカテゴリを越えて、この範囲の外に直接アクセスできるようにします。

間接アクセスプライベートメンバ変数は、getter / setterメソッドは、子供のペアの定義である

のsetXXXかのgetXXXの命名規則と呼ばれている必要があります。
ゲッターのために、パラメータは、戻り型と対応するメンバー変数を持っていない。
セッターのために、その値、パラメータ・タイプ、および対応するメンバ変数を返すことができません。
 * / 
パブリッククラス人{ 

    文字列名; //名前
    プライベートint型の年齢; //年齢

    ます。public voidショー(){ 
        System.out.printlnは( "私の名前:" +名+ "年齢:" +年齢); 
    } 

    / /このメンバーの方法は、年齢データ用に特別に配置され
    ます。public void setAgeを(INT NUM){ 
        IF(NUM <100 && NUM> = 9){//それが合理的であれば 
            年齢= NUM。
        他の{} 
            のSystem.out.println( "データ不合理な!"); 
        } 
    } 

    //このメソッドのメンバー、特に年齢データ取得ささやき
    )公共int型getAgeを({ 
        リターン年齢; 
    } 

}

  

おすすめ

転載: www.cnblogs.com/yzg-14/p/12190057.html