🗂
【Java】デフォルトコンストラクタ…どこにいるの?…アナタを感じたい…
あっ。。。
いるいる
いるやんか!
そこにおったんかい!
隠れちゃって!照れ屋さんなんだから!可愛いぞ♪デフォルトコンストラクタ♪
コードをコピーして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