1,433 バイト追加
、 2020年2月15日 (土) 07:35
==SJC-P コンストラクタ==
package constructor;
public class ConstructorTest1 {
public static void main(String[] args) {
ConstructorTest1 me = new ConstructorTest1();
me.testConstructor();
}
public void testConstructor() {
System.out.println("### Deriv()");
Deriv d1 = new Deriv();
System.out.println("### Deriv(String)");
Deriv d2 = new Deriv("deriv");
}
}
class Base {
static {
System.out.println("Base static initializer");
}
{
System.out.println("Base initializer");
}
protected String name;
public Base() {
System.out.println("Base()");
}
public Base(String name) {
System.out.println("Base(String name)");
this.name = name;
}
}
class Deriv extends Base {
static {
System.out.println("Deriv static initializer");
}
{
System.out.println("Deriv initializer");
}
public Deriv() {
// 明示的に他のコンストラクタを呼び出す(this())場合、super()は呼ばれない
this("default Deriv");
System.out.println("Deriv()");
}
public Deriv(String name) {
// 暗黙的に super() コンストラクタが呼び出される
System.out.println("Deriv(String name)");
this.name = name;
}
}
----
{{include_html banner_html, "!SJC-P"}}