01_オブジェクト指向(コンストラクタコンストラクタの概要とフォーマット)
* A:概要と効果コンストラクタ
*オブジェクトのデータ(属性)が初期化されます
* B:コンストラクタフォーマット特性
* A:クラス名およびメソッド名(クラス名のサイズにも一致)と同じ
* B:ノーリターンタイプ、でも無効ではありません
* C:いいえ、特定の戻り値を返します。
コンフィギュレーション・クラスDemo1_Constructor {//コンストラクタ
パブリック静的無効メイン(文字列[] args){
人物P =新しい人(); //一度にオブジェクトを作成し、システムがコンストラクタを呼び出すために私を助けます
//p.Person(); //オブジェクトのコンストラクタによって呼び出すことができません
p.show();
人物P2 =新しい人(); //オブジェクトを再び作成します
p2.show();
}
}
/ *
* A:概要と効果コンストラクタ
*オブジェクトのデータ(属性)が初期化されます
* B:コンストラクタフォーマット特性
* A:クラス名およびメソッド名(クラス名のサイズにも一致)と同じ
* B:ノーリターンタイプ、でも無効ではありません
* C:いいえ、特定の戻り値を返します。
* /
クラス人{
プライベート文字列名;
プライベートint型の年齢;
//コンストラクタ
パブリック人(){
//System.out.println("Hello世界 ")!;
//リターン; //コンストラクタは形式がリターンされ、また、return文です。
名=「ジョン・ドウ」。
年齢= 23;
}
ます。public voidショー(){
System.out.println(名前+ "..." +年齢)。
}
}
コンストラクタはある役割とフォーマットの特徴は何ですか?
* A:クラス名およびメソッド名(クラス名のサイズにも一致)と同じ
* B:ノーリターンタイプ、でも無効ではありません
* C:いいえ、特定の戻り値を返します。
思考:コンストラクタはそれをオーバーライドすることができますか?
缶
02_オブジェクト指向(オーバーロードコンストラクタおよび注意事項)
* A:ケースプレゼンテーション
*オーバーロードされたコンストラクタ
*過負荷:同じメソッド名は、(コンストラクタは戻り値はありません)戻り値の型とは何の関係もない、パラメータのリストを見て
* B:コンストラクタ注
*:我々は与えていない場合施工方法は、システムが自動的にコンストラクタのパラメータを提供します。
* B:私たちは工法を与えた場合、システムはもはや引数なしでデフォルトコンストラクタを提供します。
*注:私たちは、引数なしのコンストラクタを使用したい場合は、この時間は、あなた自身を与える必要があります。その引数なしのコンストラクタを与えることはありませんお勧めします
クラスDemo2_Person {
パブリック静的無効メイン(文字列[] args){
人物P1 =新しい人();
p1.show();
System.out.println( "---------------------");
人p2は=新しい人( "张三"、23);
p2.show();
System.out.println( "---------------------");
人物P3は=新しい人( "李四"、24);
p3.show();
}
}
/ *
* A:ケース・プレゼンテーション
*オーバーロードコンストラクタ
*過負荷:同じメソッド名は、戻り値の型とは何の関係(コンストラクタは値を返しません)が、唯一のパラメータリストを持っていません
* B:コンストラクタノート
* A:私たちは工法を与えていない場合は、システムが自動的にコンストラクタのパラメータを提供します。
* B:私たちは工法を与えた場合、システムはもはや引数なしでデフォルトコンストラクタを提供します。
*注:私たちは、引数なしのコンストラクタを使用したい場合は、この時間は、あなた自身を与える必要があります。その引数なしのコンストラクタを与えることはありませんお勧めします
* /
クラス人{
プライベート文字列名; //姓名
プライベートint型の年齢; //年齢
公共の人(){//ヌル構成パラメータ
System.out.println( "空の引数のコンストラクタ");
}
公共パーソン(文字列名、int型の年齢){
this.nameは名称。
this.ageは年齢を=。
System.out.println( "設定パラメータを持っています");
}
ます。public voidショー(){
System.out.println(名前+ "..." +年齢)。
}
}
コンストラクタメソッドを使用している場合、どのような予防策?
* A:私たちは工法を与えていない場合は、システムが自動的にコンストラクタのパラメータを提供します。
* B:私たちは工法を与えた場合、システムはもはや引数なしでデフォルトコンストラクタを提供します。
*注:私たちは、引数なしのコンストラクタを使用したい場合は、この時間は、あなた自身を与える必要があります。その引数なしのコンストラクタを与えることはありませんお勧めします
思考:コンストラクタは、setメソッドは、メンバ変数の割り当て、違いは何これらの2つの方法の割り当てを与えることができますか?
(2つの方法のメンバ変数割り当ての差)03_オブジェクト指向
A:のsetXXX()メソッド
*属性値を変更
* B:コンストラクタ
*はオブジェクト属性を初期化します
クラスDemo3_Person {
パブリック静的無効メイン(文字列[] args){
人物P1 =新しい人( "ジョー・スミス"、23);
// P1 =新しい人(「張天一」、23); //名前を変更したような結果ルックスを表示するには、この方法を実行して、実際には、元のオブジェクトがガベージなり
System.out.println(p1.getName()+ "..." + p1.getAge());
System.out.println( "--------------------");
人物P2 =新しい人();オブジェクトを作成するための//空の引数のコンストラクタ
p2.setName(「ジョン・ドウ」)。
p2.setAge(24)。
p2.setName( "李桂");
System.out.println(p2.getName()+ "..." + p2.getAge());
}
}
/ *
コンストラクタ
プロパティに初期化
setXXXメソッド
プロパティ値を変更します。
いくつかのより多くのsetXXXにより、開発中のこれらの2つの方法、より柔軟なため、
* /
クラス人{
プライベート文字列名; //姓名
プライベートint型の年齢; //年齢
公共の人(){//ヌル構成パラメータ
}
公共パーソン(文字列名、int型の年齢){//設定パラメータを持っています
this.nameは名称。
this.ageは年齢を=。
}
公共のボイドのsetName(文字列名){//セット名
this.nameは名称。
}
公共の文字列のgetName(){// GET名
名前を返します。
}
公共のボイドsetAge(int型年齢){//は年齢を設定します
this.ageは年齢を=。
}
公共int型getAge(){//取得年齢
年齢を返します。
}
}