java向下轉(zhuǎn)型基礎(chǔ)知識(shí)點(diǎn)及實(shí)例
向下轉(zhuǎn)型就是父類(lèi)對(duì)象轉(zhuǎn)成子類(lèi)對(duì)象。我們把一個(gè)父類(lèi)引用 Animal類(lèi)型的引用 給了一個(gè) Bird類(lèi)型 的引用,這就是向下轉(zhuǎn)型
2、格式子類(lèi) 子類(lèi)對(duì)象=(子類(lèi))父類(lèi)實(shí)例
3、注意向下轉(zhuǎn)型的時(shí)候一定要進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換
4、實(shí)例class Animal { public String name; public void eat() {System.out.println(this.name + ' 正在吃'); }}class Cat extends Animal { }class Bird extends Animal { public int age; public void fly() {System.out.println(this.name+'起飛'); }}public class Test extends TestDemo { public static void main(String[] args) {Animal animal = new Animal();Bird bird = (Bird) animal;//必須進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換 }}
Java向下轉(zhuǎn)型的意義
一開(kāi)始學(xué)習(xí) Java 時(shí)不重視向下轉(zhuǎn)型。一直搞不清楚向下轉(zhuǎn)型的意義和用途,不清楚其實(shí)就是不會(huì),那開(kāi)發(fā)的過(guò)程肯定也想不到用向下轉(zhuǎn)型。
其實(shí)向上轉(zhuǎn)型和向下轉(zhuǎn)型都是很重要的,可能我們平時(shí)見(jiàn)向上轉(zhuǎn)型多一點(diǎn),向上轉(zhuǎn)型也比較好理解。
但是向下轉(zhuǎn)型,會(huì)不會(huì)覺(jué)得很傻,我是要用子類(lèi)實(shí)例對(duì)象,先是生成子類(lèi)實(shí)例賦值給父類(lèi)引用,在將父類(lèi)引用向下強(qiáng)轉(zhuǎn)給子類(lèi)
引用,這不是多此一舉嗎?我不向上轉(zhuǎn)型也不向下轉(zhuǎn)型,直接用子類(lèi)實(shí)例就行了。
我開(kāi)始學(xué)習(xí)Java時(shí)也是這么想的,這誤區(qū)導(dǎo)致我覺(jué)得向下轉(zhuǎn)型就是沒(méi)用的。
隨著技術(shù)的提升,我在看開(kāi)源的項(xiàng)目學(xué)習(xí),發(fā)現(xiàn)很多地方都用了向下轉(zhuǎn)型的技術(shù),這就讓我重視了起來(lái),想要重新來(lái)復(fù)習(xí)(學(xué)習(xí))這個(gè)知識(shí)點(diǎn)。也是搜索了許多博客文章,但都沒(méi)具體說(shuō)明向下轉(zhuǎn)型,只是給了例子演示怎么使用,反而是向上轉(zhuǎn)型講了一堆(可能是我沒(méi)找到)。
到此這篇關(guān)于java向下轉(zhuǎn)型基礎(chǔ)知識(shí)點(diǎn)及實(shí)例的文章就介紹到這了,更多相關(guān)java向下轉(zhuǎn)型是什么意思內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. .NET使用YARP通過(guò)編碼方式配置域名轉(zhuǎn)發(fā)實(shí)現(xiàn)反向代理2. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法3. django Layui界面點(diǎn)擊彈出對(duì)話(huà)框并請(qǐng)求邏輯生成分頁(yè)的動(dòng)態(tài)表格實(shí)例4. AJAX原理以及axios、fetch區(qū)別實(shí)例詳解5. Django 如何從request中獲取前端數(shù)據(jù)6. 使用FormData進(jìn)行Ajax請(qǐng)求上傳文件的實(shí)例代碼7. javascript設(shè)計(jì)模式 ? 組合模式原理與應(yīng)用實(shí)例分析8. CSS可以做的幾個(gè)令你嘆為觀(guān)止的實(shí)例分享9. Ajax常用封裝庫(kù)——Axios的使用10. ASP.NET Identity的基本用法
