Java中父類和子類之間的轉(zhuǎn)換操作示例
本文實(shí)例講述了Java中父類和子類之間的轉(zhuǎn)換操作。分享給大家供大家參考,具體如下:
一、父類引用強(qiáng)轉(zhuǎn)成為子類引用
package learn20180720; public class People { private String name; private Integer age; private Double height; public People(){ this.name = ""; this.age = 0 ; this.height = 0.0; } public People(String name, Integer age, Double height) { super(); this.name = name; this.age = age; this.height = height; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Double getHeight() { return height; } public void setHeight(Double height) { this.height = height; } public void tellObjectName(People p) { System.err.println(p.name); } public void sayInformation() { System.err.println("我的名字叫做:"+this.name+"我的年齡是:"+this.age+"我的身高是"+this.height); } }
package learn20180720; public class Chinese extends People{ private String country; public Chinese(){ super(); country = ""; } public Chinese(String aname,Integer aage,Double aheight) { super(aname,aage,aheight); this.country = "中國(guó)"; } public String getCountry() { return country; } public void setCountry(String country) { this.country = country; } public void sayInformation() { // TODO Auto-generated method stub System.err.println("我的名字叫做:"+this.getName()+" 我的年齡是:"+this.getAge()+" 我的身高是:"+this.getHeight()+" 我的國(guó)家是:"+this.country); } }
package learn20180720; public class TestPeCh { public static void main(String[] args) { // TODO Auto-generated method stub People p1 = new Chinese(); Chinese c1 = (Chinese)p1; } }
可以看到,p1無(wú)法訪問(wèn)子類中的特有的方法(父類引用可以訪問(wèn)子類中重寫父類中的方法),但是強(qiáng)轉(zhuǎn)成為子類類型的引用c1之后,c1就可以訪問(wèn)子類中所有的方法啦。
二、父類不可以強(qiáng)轉(zhuǎn)成為子類
package learn20180720; public class TestPeCh { public static void main(String[] args) { // TODO Auto-generated method stub People p1 = new People(); Chinese c1 = (Chinese)p1; } }
報(bào)錯(cuò)了!
更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
Java實(shí)現(xiàn)表單提交(支持多文件同時(shí)上傳)
本文介紹了Java、Android實(shí)現(xiàn)表單提交(支持多文件同時(shí)上傳)的方法,具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-01-01在Eclipse中運(yùn)行Solr 基礎(chǔ)知識(shí)
Solr我還是個(gè)菜鳥,寫這一些文章只是記錄一下最近一段時(shí)間學(xué)習(xí)Solr的心得,望各位同仁不要見(jiàn)笑,還希望多多指點(diǎn)2012-11-11Java之HashMap.values()轉(zhuǎn)List時(shí)的錯(cuò)誤和正確演示
這篇文章主要介紹了Java之HashMap.values()轉(zhuǎn)List時(shí)的錯(cuò)誤和正確演示,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03Java中位運(yùn)算(移位、位與、或、異或、非) 的簡(jiǎn)單實(shí)例
Java中位運(yùn)算(移位、位與、或、異或、非) 的簡(jiǎn)單實(shí)例,需要的朋友可以參考一下2013-02-02Java 在PPT中添加文本和圖片超鏈接的實(shí)現(xiàn)方法
這篇文章主要介紹了Java 在PPT中添加文本和圖片超鏈接的實(shí)現(xiàn)方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05Java讀取properties文件內(nèi)容的幾種方式詳解
這篇文章主要介紹了Java讀取properties文件內(nèi)容的幾種方式詳解,讀取properties配置文件在實(shí)際的開發(fā)中使用的很多,本文來(lái)介紹常用的幾種實(shí)現(xiàn)方式,需要的朋友可以參考下2023-11-11