コンストラクタは、同じタイプのが、メソッドの戻りのないクラス名です。またはオブジェクトの現在のインスタンス、およびオブジェクトまたは現在のリターンのために。クラスのインスタンスを取得するには、彼らはそのコンストラクタを実行する傾向があります。Javaオブジェクト指向のコンストラクタ(コンストラクタの使用)にこのブログ。
概要コンストラクタ
Javaのコンストラクタを学ぶことは非常に重要な概念である☃、コンストラクタはクラスのメンバ変数(ドメイン)の初期化を担当して、コンストラクタメソッドとして、多くの特別な方法を提供することができます。構成やデフォルトコンストラクタの例としては、非デフォルトコンストラクタに分かれています。
修饰符 类名(参数列表){
初始化语句;
}
特性化コンストラクタ
☃それはクラスの同じ名前を持ちます
☃それは、戻り値の型を宣言していません。(異なる空隙で宣言され、空隙が戻り値の種類を考えることができ、戻りヌル型)
☃最終静的、同期、抽象することはできません、ネイティブの修正権は(プライベート、パブリック、保護、デフォルト(デフォルト))修飾することができ修正、することはできません
return文に戻り、値を
コンストラクタの役割
最も有用な☃コンストラクタの初期化は、オブジェクトが作成されたときにオブジェクトが作成されると、システムはこのオブジェクトのインスタンスを初期化するためにデフォルト設定されますが実行されます。このデフォルトの初期化を変更したい場合は、カスタムビルダーによって達成することができます。
➥コンストラクタは特殊な方法は、それがオーバーロードされています
分類コンストラクタ
パラメータによっては、コンフィギュレーションは、2つのカテゴリに分けることができます。
☃暗黙の引数のコンストラクタは(デフォルトはありません)
☃明示的に一つ以上のビルダー(過負荷コンストラクタ)を定義
注意:
➥Java言語は、すべてのクラスは、少なくとも1つのコンストラクタ(書いていない、提供し、システムのデフォルトを)持っています
➥デフォルトコンストラクタは、そのクラス修飾子修飾子の特権と一致しています
明示的にコンストラクタを定義したら➥、デフォルトの設定では使用できなくなりました
クラスのコンストラクタのオーバーロードを複数作成する➥
➥親クラスのコンストラクタは、サブクラスによって継承されていません
オーバーロードコンストラクタ
オブジェクトが作成されている間☃一般的なコンストラクタは、オブジェクトを初期化します
☃オーバーロードコンストラクタは、オブジェクトのさまざまを作成しやすい、オブジェクトをより柔軟に作成することができ
一貫した☃オーバーロードされたコンストラクタのオーバーロード、パラメータリストの必要があり、方法
コンストラクタの使用例
public class ConstructorTest {
public static void main(String[] args) {
/*
在创建Dog类的实例时:Dog d = new Dog();
系统自动调用构造器将属性初始化
*/
Dog d1 = new Dog();
System.out.println("狗狗的名字是" + d1.getName() + "有 " + d1.getLegs() + "条腿");
Dog d2 = new Dog("圆圆" , 4);
System.out.println("狗狗的名字是" + d2.getName() + "有 " + d2.getLegs() + "条腿");
}
}
class Dog{
private int legs;
private String name;
//Dog类的构造器,权限为public
public Dog(){
//初始化成员变量
legs = 4;
name = "小黑";
}
//构造器的重载
protected Dog(String s,int i) {
legs = i;
name = s;
}
//成员变量的set和get方法
public void setLegs(int i) {
legs = i;
}
public int getLegs(){
return legs;
}
public void setName(String s) {
name = s;
}
public String getName(){
return name;
}
}
/*输出:
狗狗的名字是小黑有 4条腿
狗狗的名字是圆圆有 4条腿
*/
このブログとCSDNブログ(ཌ་.Asio 6月་。ད)同時リリース