🗂

【Java】デフォルトコンストラクタ…どこにいるの?…アナタを感じたい…

2022/07/26に公開

あっ。。。
いるいる
いるやんか!
そこにおったんかい!
隠れちゃって!照れ屋さんなんだから!可愛いぞ♪デフォルトコンストラクタ♪


コードをコピーしてDokojavaに貼り付けます
このマークをクリックすると実行できます

// ファイル名
// Main.java

class Foo{
	void Foo(){System.out.println("Hello");}
	void Foo(String str){System.out.println("Bye");}
// デフォルトコンストラクタ コンパイルすると自動で入るやつ(あってもなくて同じ結果となることが確認できる)
//	Foo(){
//	}
}

// 前にやったこれも空のコンストラクタが呼び出せる?
class Employee{
	int id ;
	void setId(int i){
		id = i ;
	}
// デフォルトコンストラクタ コンパイルすると自動で入るやつ(あってもなくて同じ結果となることが確認できる)
//	Employee(){
//	}
}

class Main{
	public static void main (String[] args){
		
		// class Foo によるテスト
		
		// インスタンス化(オブジェクト作成)
		Foo f = new Foo(); // コンストラクタを呼び出してる
		// 呼び出し元でコンストラクタ記述しなくても、どっちにしろ呼び出すのか
		// 空のデフォルトコンストラクタか明示したコンストラクタか
		f.Foo();
		f.Foo("あああ");
		
		// class Employee によるテスト
		
		Employee e1 = new Employee();
		System.out.println(e1.id);
		
		Employee e2 = new Employee();
		e2.setId(888);
		System.out.println(e2.id);
		
	}
}

デフォルトコンストラクタのつもりで記述したコードのコメントアウトを付けたり外したりして実行すると結果が同じだったので存在があるんじゃなかろうかと感じられました。

Discussion