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を({ リターン年齢; } }