1. 程式人生 > 其它 >Java面向物件:instanceof和型別轉換

Java面向物件:instanceof和型別轉換

技術標籤:Javajava多型object

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(); } }

在這裡插入圖片描述