Java子類對(duì)象的實(shí)例化過程分析
本文實(shí)例講述了Java子類對(duì)象的實(shí)例化過程。分享給大家供大家參考,具體如下:
一 點(diǎn)睛
子類對(duì)象在實(shí)例化時(shí),子類對(duì)象會(huì)默認(rèn)先調(diào)用父類中的無參構(gòu)造函數(shù),然后再調(diào)用子類構(gòu)造構(gòu)造方法。
二 實(shí)戰(zhàn)
1 代碼
class Person { String name ; int age ; public Person() // 父類的構(gòu)造方法 { System.out.println("***** 父類構(gòu)造:1. publicPerson()") ; } } class Student extends Person { String school ; public Student() // 子類的構(gòu)造方法 { //super() ; //實(shí)際上程序在這里隱含了這樣一條語句 System.out.println("##### 子類構(gòu)造:2. public Student()"); } } public class SubInstantProcess { public static void main(String[] args) { Student s = new Student() ; } }
2 運(yùn)行
***** 父類構(gòu)造:1. publicPerson()
##### 子類構(gòu)造:2. public Student()
3 說明
運(yùn)行結(jié)果可以證明:子類對(duì)象在實(shí)例化時(shí),會(huì)默認(rèn)先去調(diào)用父類中的無參構(gòu)造方法,之后再調(diào)用子類本身的相應(yīng)構(gòu)造方法。
實(shí)際上,在子類構(gòu)造方法的首行相對(duì)于默認(rèn)隱含了一個(gè)“super()”語句。上面的Student類如果改寫成下面形式,也是合法的。運(yùn)行結(jié)果也是一樣的。
class Student extends Person { String school ; public Student() // 子類的構(gòu)造方法 { super() ; //隱含了這樣一條語句,它負(fù)責(zé)調(diào)用父類無參構(gòu)造方法 System.out.println("##### 子類構(gòu)造:2. public Student()"); } }
更多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接口基礎(chǔ)知識(shí)附思維導(dǎo)圖
這篇文章主要介紹了java接口基礎(chǔ)知識(shí),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04IDEA連接Mysql數(shù)據(jù)庫的詳細(xì)圖文教程
項(xiàng)目開發(fā)時(shí)使用Intellij IDEA連接本地?cái)?shù)據(jù)庫,將數(shù)據(jù)庫可視化,還可對(duì)數(shù)據(jù)庫表直接進(jìn)行增刪改查操作,方便快捷又清晰,下面這篇文章主要給大家介紹了關(guān)于IDEA連接Mysql數(shù)據(jù)庫的詳細(xì)圖文教程,需要的朋友可以參考下2023-03-03Mybatis?MappedStatement類核心原理詳解
這篇文章主要介紹了Mybatis?MappedStatement類,mybatis的mapper文件最終會(huì)被解析器,解析成MappedStatement,其中insert|update|delete|select每一個(gè)標(biāo)簽分別對(duì)應(yīng)一個(gè)MappedStatement2022-11-11java struts2學(xué)習(xí)筆記之線程安全
這篇文章主要為大家詳細(xì)介紹了java struts2學(xué)習(xí)筆記之線程安全,感興趣的朋友可以參考一下2016-04-04Java中的ReentrantLock、ReentrantReadWriteLock、StampedLock詳解
這篇文章主要介紹了Java中的ReentrantLock、ReentrantReadWriteLock、StampedLock詳解,讀寫鎖:一個(gè)資源能夠被多個(gè)讀線程訪問,或者被一個(gè)寫線程訪問但是不能同時(shí)存在讀寫線程,需要的朋友可以參考下2024-01-01