Java面向物件:instanceof和型別轉換
阿新 • • 發佈:2021-02-17
instanceof
instanceof可以判斷一個類的例項是否繼承於另外一個類
TestExtends.java
package BasicGrammar;
public class TestExtends {
public static void main(String[] args) {
A a = new A();
System.out.println(a instanceof A);//True
System.out.println(a instanceof B);//True
System. out.println(a instanceof Object);//True
}
}
型別轉換
型別轉換存在於父子類之間。
子類轉換為父類,可以丟失自己的一些方法。
子類轉父類,向上轉換。
父類轉子類,向下轉換(強制轉換)。
A.java
package BasicGrammar;
public class A extends B {
@Override
public void sayHi() {
System.out.println("Hi~~A");
}
public void sayHello() {
System. out.println("Hello World");
}
}
B.java
package BasicGrammar;
public class B {
public void sayHi() {
System.out.println("Hi~~B");
}
}
TestExtends.java
package BasicGrammar;
public class TestExtends {
public static void main(String[] args) {
// 子類轉父類
B b = new A();
// 父類轉子類
((A) b).sayHello();
}
}