色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java里子類和父類的轉(zhuǎn)換

林玟書1年前7瀏覽0評論

在Java編程中,類的繼承是基本特性之一。子類繼承父類的屬性和方法,同時(shí)還可以擴(kuò)展和重寫父類的方法。在實(shí)際開發(fā)中,我們經(jīng)常需要在父類和子類之間進(jìn)行類型轉(zhuǎn)換。

在Java中,子類和父類之間的轉(zhuǎn)換可以分為向上轉(zhuǎn)型和向下轉(zhuǎn)型兩種類型。向上轉(zhuǎn)型(Upcasting)是將子類對象賦值給父類引用變量的過程。向下轉(zhuǎn)型(Downcasting)則是將父類對象強(qiáng)制轉(zhuǎn)換為子類對象的過程。

向上轉(zhuǎn)型是比較常見的一種類型轉(zhuǎn)換。具體實(shí)現(xiàn)方法是,創(chuàng)建子類對象后,用父類引用變量來引用該對象。這時(shí),該對象就被認(rèn)為是父類類型,無法直接調(diào)用子類特有的方法。代碼如下所示:

class FatherClass {
public void doSomething() {
System.out.println("FatherClass");
}
}
class SonClass extends FatherClass {
public void doSomething() {
System.out.println("SonClass");
}
public void doSonSomething() {
System.out.println("doSonSomething");
}
}
class Test {
public static void main(String[] args) {
SonClass sonClass = new SonClass();
FatherClass fatherClass = sonClass; //向上轉(zhuǎn)型
fatherClass.doSomething(); //調(diào)用父類方法
}
}

上述代碼中,實(shí)例化了一個(gè)SonClass對象sonClass,然后將其向上轉(zhuǎn)型為FatherClass類型的對象fatherClass。通過fatherClass調(diào)用了父類的方法doSomething()。

向下轉(zhuǎn)型則比較少用,需要注意的是它需要使用強(qiáng)制類型轉(zhuǎn)換符(即子類類型)。具體示例如下:

class Test {
public static void main(String[] args) {
FatherClass fatherClass = new FatherClass();
SonClass sonClass = (SonClass) fatherClass; //向下轉(zhuǎn)型
sonClass.doSomething(); //調(diào)用子類重寫的方法
sonClass.doSonSomething(); //調(diào)用子類特有方法
}
}

上述代碼中,首先創(chuàng)建了一個(gè)FatherClass類型的對象fatherClass,然后使用向下轉(zhuǎn)型將其轉(zhuǎn)換為SonClass類型的對象sonClass。需要注意的是,這里需要使用強(qiáng)制類型轉(zhuǎn)換符,否則會導(dǎo)致編譯錯(cuò)誤。通過sonClass調(diào)用了子類的方法doSomething()和特有方法doSonSomething()。