新聞中心
kotlin在基類中如何獲取子類的類名?
在 Kotlin 中,可以使用關(guān)鍵字"this"獲取當(dāng)前對(duì)象的引用,然后再調(diào)用"this::class.simpleName"方法獲取當(dāng)前對(duì)象的類名。

創(chuàng)新互聯(lián)公司成都企業(yè)網(wǎng)站建設(shè)服務(wù),提供網(wǎng)站制作、成都網(wǎng)站建設(shè)網(wǎng)站開(kāi)發(fā),網(wǎng)站定制,建網(wǎng)站,網(wǎng)站搭建,網(wǎng)站設(shè)計(jì),成都響應(yīng)式網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì)師打造企業(yè)風(fēng)格網(wǎng)站,提供周到的售前咨詢和貼心的售后服務(wù)。歡迎咨詢做網(wǎng)站需要多少錢:18982081108
如果在基類中想要獲取子類的類名,可以在子類中重寫(xiě)一個(gè)方法,然后在這個(gè)方法中調(diào)用上述代碼獲取當(dāng)前對(duì)象的類名,并將其傳遞給基類的方法進(jìn)行處理。這樣就可以在基類中獲取子類的類名了。
重寫(xiě)就是新定義一個(gè)方法?
舉個(gè)簡(jiǎn)單的例子,有動(dòng)物類(父類),貓,狗,小鳥(niǎo)這些都是它的子類。這些類都有 '叫'--enjoy 這個(gè)方法enjoy{。。}。
現(xiàn)在還有個(gè)方法test參數(shù)是動(dòng)物類型,即test(動(dòng)物){方法體里面是enjoy方法的調(diào)用}如果不是重寫(xiě),要實(shí)現(xiàn)比如說(shuō) 藍(lán)色貓 的叫聲要先判斷 藍(lán)色貓 是什么類再調(diào)用enjoy這個(gè)方法。
如果重寫(xiě)了,那么就可以用test方法,參數(shù)傳的是什么類型就調(diào)用那個(gè)類型的方法,不用判斷了。
舉的例子簡(jiǎn)單,但是這實(shí)際上是java的核心機(jī)制之一,多態(tài)。程序的延展性就提高了。
子類是什么意思?
所謂的子類,必須是一個(gè)類繼承了另一個(gè)類,這個(gè)類才是子類;比如:public class a extend b 這就是說(shuō)a類繼承了b類,那么a就是b的子類;b是a的父類
"子類"是面向?qū)ο缶幊讨械囊粋€(gè)概念,用于描述類之間的繼承關(guān)系。在面向?qū)ο缶幊讨校粋€(gè)類可以派生(繼承)自另一個(gè)類,被派生的類稱為子類,而被繼承的類稱為父類或基類。
子類繼承了父類的屬性和方法,并可以在此基礎(chǔ)上進(jìn)行擴(kuò)展或修改。子類可以訪問(wèn)父類的公共成員,也可以添加自己的新成員。通過(guò)繼承和子類化,可以實(shí)現(xiàn)代碼的重用和層次化組織。
繼承關(guān)系中,子類通常繼承了父類的行為和特征,同時(shí)還可以添加自己的獨(dú)特屬性和行為。子類可以重寫(xiě)父類的方法,以實(shí)現(xiàn)自己的特定邏輯,也可以調(diào)用父類的方法。
繼承關(guān)系可以形成繼承層次結(jié)構(gòu),其中一個(gè)類可以有多個(gè)子類,而一個(gè)子類也可以被其他類所繼承,以此類推,形成類的層次結(jié)構(gòu)。
總之,子類是在面向?qū)ο缶幊讨斜硎纠^承關(guān)系的一個(gè)概念,它繼承了父類的特定屬性和方法,并可以添加自己的特定屬性和方法。
equal會(huì)自動(dòng)重寫(xiě)嗎?
1 不會(huì)自動(dòng)重寫(xiě)。
2 因?yàn)閑qual是Java中的比較運(yùn)算符,用于比較兩個(gè)對(duì)象是否相等,它不會(huì)對(duì)對(duì)象進(jìn)行修改或者重寫(xiě)。
3 如果想要使用自動(dòng)重寫(xiě),可以考慮使用重寫(xiě)(Override)方法來(lái)實(shí)現(xiàn)。
重寫(xiě)可以在子類中創(chuàng)建一個(gè)與父類的方法名稱,返回值類型和參數(shù)列表都相同的方法,從而對(duì)父類的方法進(jìn)行修改或者重寫(xiě),達(dá)到自動(dòng)重寫(xiě)的效果。
不會(huì)。Object.is()和Object.equal()都是ES6中新增的函數(shù),它們都是用來(lái)比較兩個(gè)值是否相等的函數(shù),但是它們之間有一些區(qū)別:
1. Object.is()比較兩個(gè)值是否嚴(yán)格相等,而Object.equal()比較兩個(gè)值是否相等。
2. Object.is()會(huì)比較兩個(gè)值的類型和值,而Object.equal()只會(huì)比較兩個(gè)值的值。
3. Object.is()會(huì)比較NaN和+0/-0,而Object.equal()不會(huì)。
4. Object.is()不會(huì)重寫(xiě),而Object.equal()會(huì)自動(dòng)重寫(xiě)。
到此,以上就是小編對(duì)于java子類重寫(xiě)方法的規(guī)則的問(wèn)題就介紹到這了,希望這4點(diǎn)解答對(duì)大家有用。
分享題目:kotlin在基類中如何獲取子類的類名?(java子類重寫(xiě)方法有什么規(guī)則)
文章鏈接:http://www.5511xx.com/article/dpopoci.html
其他資訊
- 管家婆刪除數(shù)據(jù)庫(kù)出現(xiàn)問(wèn)題怎么解決? (管家婆怎么刪除數(shù)據(jù)庫(kù)失敗)
- 保護(hù)云≠保護(hù)云中的數(shù)據(jù) 云端存儲(chǔ)數(shù)據(jù)的五大不安全因素
- ASP.NET如何獲取SQL數(shù)據(jù)庫(kù)時(shí)間?(asp.net獲取sql數(shù)據(jù)庫(kù)時(shí)間)
- Windows7系統(tǒng)時(shí)間總是不能自動(dòng)同步,怎么辦?(windows7時(shí)間不能改)
- 怎么把系統(tǒng)降成XP?(windowsxp系統(tǒng)載)


咨詢
建站咨詢
