Java中自動生成構(gòu)造方法詳解
Java中自動生成構(gòu)造方法詳解
每個類在沒有聲明構(gòu)造方法的前提下,會自動生成一個不帶參數(shù)的構(gòu)造方法,如果類一但聲明有構(gòu)造方法,就不會產(chǎn)生了.證明如下:
例1:
class person
{
person(){System.out.println("父類-person");}
person(int z){}
}
class student extends person
{
// student(int x ,int y){super(8);}
}
class Rt
{
public static void main(String[]args)
{
student student_dx=new student();//創(chuàng)建student類的對象
}
}
//輸出結(jié)果:父類-person
例2:
class person
{
person(){System.out.println("父類-person");}
person(int z){}
}
class student extends person
{
student(int x ,int y){super(8);}
}
class Rt
{
public static void main(String[]args)
{
student student_dx=new student(3,4);//創(chuàng)建student類的對象
}
}
//沒有輸出結(jié)果
例1說明:student類自動生成student() {super();}(前提是:student類沒有聲明構(gòu)造方法的前提下) 'super()'是用來調(diào)用父類的構(gòu)造方法.
例2中的person()方法沒有被調(diào)用,說明student類沒有產(chǎn)生student(){super();}方法.這是因為student類已經(jīng)聲明構(gòu)造方法,默認的那個不帶參數(shù)的構(gòu)造方法就不產(chǎn)生了.
再舉例:
class person
{
person(int z){}
}
class student extends person
{
}
class Rt
{
public static void main(String[]args)
{
student student_dx=new student();//創(chuàng)建student類的對象
}
}
/*報錯:
exercise14.java:8: 找不到符號
符號: 構(gòu)造函數(shù) person()
位置: 類 person
class student extends person
^
1 錯誤
*/
說明:student類自動產(chǎn)生了一個student(){super();},但是由于person類已經(jīng)聲明了構(gòu)造方法,默認的那個帶參數(shù)的構(gòu)造方法沒有產(chǎn)生.,所以報錯中提到找不到構(gòu)造函數(shù)person()
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Java中如何使用正則表達式提取各種類型括號中的內(nèi)容
最近在工作中遇到一個問題,就是需要一個字符串中每一個中括號里的內(nèi)容,下面這篇文章主要給大家介紹了關(guān)于Java中如何使用正則表達式提取各種類型括號中的內(nèi)容,需要的朋友可以參考下2023-06-06
簡單了解java volatile關(guān)鍵字實現(xiàn)的原理
這篇文章主要介紹了簡單了解volatile關(guān)鍵字實現(xiàn)的原理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08
Spring中的ImportBeanDefinitionRegistrar接口詳解
這篇文章主要介紹了Spring中的ImportBeanDefinitionRegistrar接口詳解,ImportBeanDefinitionRegistrar接口是也是spring的擴展點之一,它可以支持我們自己寫的代碼封裝成BeanDefinition對象,注冊到Spring容器中,功能類似于注解@Service @Component,需要的朋友可以參考下2023-09-09
SpringBoot與Spring中數(shù)據(jù)緩存Cache超詳細講解
我們知道內(nèi)存讀取速度遠大于硬盤讀取速度,當需要重復(fù)獲取相同數(shù)據(jù)時,一次一次的請求數(shù)據(jù)庫或者遠程服務(wù),導(dǎo)致在數(shù)據(jù)庫查詢或者遠程方法調(diào)用上小號大量的時間,最終導(dǎo)致程序性能降低,這就是數(shù)據(jù)緩存要解決的問題,學過計算機組成原理或者操作系統(tǒng)的同學們應(yīng)該比較熟悉2022-10-10
Spring?boot事務(wù)無效報錯:Transaction?not?enabled問題排查解決
在業(yè)務(wù)代碼中經(jīng)常需要保證事務(wù)的原子性,但是有的時候確實是出現(xiàn)事務(wù)沒有生效,這篇文章主要給大家介紹了關(guān)于Spring?boot事務(wù)無效報錯:Transaction?not?enabled問題排查的相關(guān)資料,需要的朋友可以參考下2023-11-11

