[[Main.java]]
@DIV
public class Main {
public static void main(String[] args) {
// instance メソッドは、自分自身のインスタンスを作成して呼びます
Main main = new Main();
main.instanceMethod1();
main.instanceMethod2();
// 同様に他のクラスもインスタンスを作成して呼びます
Sub sub = new Sub();
sub.instanceMethod1();
sub.instanceMethod2();
}
public void instanceMethod1() {
System.out.println(new Object(){
@Override
public String toString() {
// this は、Object のインスタンスです
return [[this]].getClass().toString() + ":instanceMethod1()";
}
}.toString());
}
public void instanceMethod2() {
System.out.println(new Object(){
@Override
public String toString() {
// this は、Main のインスタンスです
return Main.[[this]].getClass().toString() + ":instanceMethod2()";
}
}.toString());
}
}
@END
[[Sub.java]]
@DIV
public class Sub {
public void instanceMethod1() {
System.out.println(Sub.this.toString() + ":instanceMethod1()");
}
public void instanceMethod2() {
System.out.println(Sub.this.toString() + ":instanceMethod2()");
}
}
@END |