詳解Java繼承中屬性、方法和對象的關(guān)系
大家都知道子類繼承父類是類型的繼承,包括屬性和方法!如果子類和父類中的方法簽名相同就叫覆蓋!如果子類和父類的屬性相同,父類就會隱藏自己的屬性!
但是如果我用父類和子類所創(chuàng)建的引用指向子類所創(chuàng)建的對象,父類引用所調(diào)用子類對象中的屬性值或方法的結(jié)果是什么呢?
看代碼:
public class FieldDemo {
public static void main(String[] args){
Student t = new Student("Jack");
Person p = t;//父類創(chuàng)建的引用指向子類所創(chuàng)建的對象
System.out.println(t.name+","+p.name);
System.out.println(t.getName()+","+p.getName());
}
}
class Person{
String name;
int age;
public String getName(){
return this.name;
}
}
class Student extends Person{
String name; // 屬性和父類屬性名相同,但在做開發(fā)時一般不會和父類屬性名相同??!
public Student(String name){
this.name = name;
super.name = "Rose"; // 為父類中的屬性賦值
}
public String getName(){
return this.name;
}
}
返回結(jié)果是:
Jack,Rose
Jack,Jack
原因是:在Java中,屬性綁定到類型,方法綁定到對象!
文章很簡單,但是也有一定的實(shí)用價值,希望對大家的學(xué)習(xí)有所幫助。
相關(guān)文章
詳解 JAVA的回調(diào)機(jī)制CallBack
最近學(xué)習(xí)java,接觸到了回調(diào)機(jī)制(CallBack)。初識時感覺比較混亂,而且在網(wǎng)上搜索到的相關(guān)的講解,要么一言帶過,要么說的比較單純的像是給CallBack做了一個定義,本文給大家介紹JAVA的回調(diào)機(jī)制CallBack,感興趣的朋友一起學(xué)習(xí)2016-04-04
詳解Java如何判斷ResultSet結(jié)果集是否為空
ResultSet 表示 select 語句的查詢結(jié)果集。這篇文章主要為大家詳細(xì)介紹了Java如何判斷ResultSet結(jié)果集是否為空,感興趣的可以了解一下2023-02-02
SpringBoot使用Spring Security實(shí)現(xiàn)登錄注銷功能
這篇文章主要介紹了SpringBoot使用Spring Security實(shí)現(xiàn)登錄注銷功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2020-09-09
Spring aop 如何通過獲取代理對象實(shí)現(xiàn)事務(wù)切換
這篇文章主要介紹了Spring aop 如何通過獲取代理對象實(shí)現(xiàn)事務(wù)切換的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
springboot /tmp 臨時目錄的具體實(shí)現(xiàn)
springboot應(yīng)用服務(wù)再啟動的時候,會在操作系統(tǒng)的/tmp目錄,本文主要介紹了springboot /tmp 臨時目錄的具體實(shí)現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-06-06
Reactor定制一個生產(chǎn)的WebClient實(shí)現(xiàn)示例
這篇文章主要為大家介紹了Reactor定制一個生產(chǎn)的WebClient實(shí)現(xiàn)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08

