- 右辺に指定したクラスのオブジェクトである。
- 右辺に指定したクラスのサブクラスのオブジェクトである。
- 右辺に指定したインターフェースの実装クラスである。
- 右辺に指定したインターフェースの実装クラスのサブクラスである。
class Human {
}
class Woman extends Human {
}
public class Test {
public static void main(String[] args) {
Human h = new Human();
Woman w1 = new Woman();
Human w2 = new Woman();
System.out.println(h instanceof Human);
System.out.println(w1 instanceof Human);
System.out.println(w2 instanceof Human);
System.out.println(h instanceof Woman);
System.out.println(w1 instanceof Woman);
System.out.println(w2 instanceof Woman);
}
}
interface Human {
}
interface Woman extends Human {
}
class Warrior implements Woman {
}
public class Test {
public static void main(String[] args) {
Warrior w = new Warrior();
System.out.println(w instanceof Human);
System.out.println(w instanceof Woman);
System.out.println(w instanceof Warrior);
}
}
- プリミティブ型(String や int)は右辺に置けない。エラー。
- ラッパークラスも同じ。