30. instanceof演算子
30. instanceof演算子
実装の確認
lesson 074
class Lesson074 { public static void main(String args[]) { super_class naru = new super_class("成瀬川なる" , 17); super_class sinobu = new sub_class( "前原しのぶ" , 13); sub_class motoko = new sub_class( "青山素子" , 15); if (naru instanceof HINA) naru.write( naru.name , naru.age); if (sinobu instanceof HINA) sinobu.write(sinobu.name , sinobu.age); if (motoko instanceof HINA) motoko.write(motoko.name , motoko.age); } } interface HINA { void write(String str , int age); } class super_class { String name; int age; public void write(String str , int age) { System.out.println(str + "\t" + age); } super_class(String name , int age) { this.name = name; this.age = age; } } class sub_class extends super_class implements HINA { public void write(String str , int age) { System.out.println(str + "\t" + age); } sub_class(String str , int age) { super(str , age); } }
実行結果
L:\>java Lesson074
前原しのぶ 13
青山素子 15
あるクラスのオブジェクトかどうか
lesson 075
class Lesson075 { public static void main(String args[]) { super_class naru = new super_class("成瀬川なる" , 17); super_class sinobu = new sub_class( "前原しのぶ" , 13); sub_class motoko = new sub_class( "青山素子" , 15); if (naru instanceof sub_class) naru.write( naru.name , naru.age); if (sinobu instanceof sub_class) sinobu.write(sinobu.name , sinobu.age); if (motoko instanceof sub_class) motoko.write(motoko.name , motoko.age); } } interface HINA { void write(String str , int age); } class super_class { String name; int age; public void write(String str , int age) { System.out.println(str + "\t" + age); } super_class(String name , int age) { this.name = name; this.age = age; } } class sub_class extends super_class implements HINA { public void write(String str , int age) { System.out.println(str + "\t" + age); } sub_class(String str , int age) { super(str , age); } }
実行結果
L:\>java Lesson075
前原しのぶ 13
青山素子 15