以下に示す2つのクラスとインターフェイスがあります。簡単な要約:インターフェイスWinterface、Class Big、Class Littleは、Bigを拡張し、Winterfaceを実装します。
public interface Winterface {}
public class Big {
public int hello = 88;
public Big() {}
public void theMethod() {
System.out.println ("Big was here: " + (this instanceof Winterface) + ", " + this.hello);
}
}
public class Little extends Big implements Winterface{
private boolean hello = true;
public Little(){}
public void theMethod() {
super.theMethod();
System.out.println("Little was here: " + hello);
}
public static void main(String [] args) {
Little l = new Little();
l.theMethod();
}
}
Littleでメインを実行すると、次の出力が得られます
ビッグはここにありました:本当、88リトルはここにありました:本当
私の質問は、どうすればいいですか
1)(Winterfaceのこのインスタンス)はtrueを返しますが、
2)this.hello be 88?this.hello = 88の場合、this = Bigであり、Winterfaceのインスタンスではありません。
どうすればこれが可能かわかりません、よろしくお願いします
編集:私が今理解しているすべての人に感謝します。「これ」は、大きなものであり、Winterfaceを実装する小さなものを指します。メソッドはsuper.theMethod()として呼び出されているため、「this」はほとんど参照していませんが、使用可能な変数「hello」はBigの変数です。