Java編程構(gòu)造方法與對象的創(chuàng)建詳解
java構(gòu)造方法與對象的創(chuàng)建
可以用類來聲明對象,聲明對象后必須創(chuàng)建對象
1構(gòu)造方法
首先,我們來談?wù)勈裁唇袠?gòu)造方法,既然都說了這是一個構(gòu)造方法,那么很顯然,它本質(zhì)上就是一個方法。
那么,既然作為一個方法,它應(yīng)該有方法的樣子吧。它除了回調(diào)一個Class();之后,也沒見它有其他的定義方法的代碼呀?這是因為,在未對類自定義構(gòu)造方法的情況下,編譯器會自動在編譯期為其添加默認的構(gòu)造方法
(1)程序用類創(chuàng)建對象時,需要使用該類的構(gòu)造方法
(2)類中構(gòu)造方法的名字必須和類名完全相同,而且沒有類型
(3)允許一個類中編寫若干個構(gòu)造方法,但必須保證參數(shù)不同(參數(shù)個數(shù)相同但參數(shù)列表中對應(yīng)的某個參數(shù)類型不同;參數(shù)個數(shù)不同)
(4)如果類中沒有編寫構(gòu)造方法,系統(tǒng)會默認該類只有一個構(gòu)造方法(無參,方法體中無語句)
1.1.默認構(gòu)造方法與自定義構(gòu)造方法
若類中定義了一個或多個構(gòu)造方法,Java不提供默認構(gòu)造方法
1.2.構(gòu)造方法沒有類型
2創(chuàng)建對象
2.1.對象的聲明
類名 對象名
//例子: Person person;
2.2.為聲明的對象分配變量
使用new 運算符和類的構(gòu)造方法為聲明的對象分配變量,即創(chuàng)建對象
//例子:為聲明的對象分配變量 public class Example4_2_Point { int x; int y; Example4_2_Point(int x, int y) { this.x = x; this.y = y; } } public class Example4_2 { public static void main(String[] args) { // TODO Auto-generated method stub Example4_2_Point example4_2_Point1 = new Example4_2_Point(10, 10);//聲明對象,為對象分配變量使用new和類中構(gòu)造方法 Example4_2_Point example4_2_Point2 = new Example4_2_Point(23, 25);//聲明對象,為對象分配變量使用new和類中構(gòu)造方法 } }
2.3.對象的內(nèi)存模型
2.4使用對象
“ · ”運算符:通過使用“ · ”運算符可以實現(xiàn)對自己變量的訪問和方法的調(diào)用
1.對象操作自己的變量(體現(xiàn)對象的屬性)
(1)通過使用“ · ”運算符可以實現(xiàn)對自己變量的訪問和方法的調(diào)用
(2)點運算符也叫引用運算符或者訪問運算符,格式:對象·方法
3對象調(diào)用類中的方法(體現(xiàn)對象的行為)
3.1對象的引用和實體(略)
代碼例子:
//默認的構(gòu)造方法、自定義構(gòu)造方法、非構(gòu)造方法例子 class Lader(){ int x ,y; //方法1:默認的構(gòu)造方法 Lader(){ } //方法2:自定義構(gòu)造方法 Lader(){ x = 1; y = 1; } //方法3:自定義構(gòu)造方法 Lader(int a,int b){ x = a; y = b; } //方法4:該方法類型為void,因此不是構(gòu)造方法 void Lader(int a,int b){ x = a; y = b; } //方法5:該方法類型為int,因此不是構(gòu)造方法 int Lader(int a,int b){ x = a; y = b; } }
總結(jié)
以上就是本文關(guān)于Java編程構(gòu)造方法與對象的創(chuàng)建詳解的全部內(nèi)容,希望對大家有所幫助。如有問題可以隨時留言,小編會及時回復(fù)大家的,期待您的寶貴意見。
相關(guān)文章
SpringBoot項目使用mybatis-plus代碼生成的實例詳解
mybatis-plus是mybatis的增強,不對mybatis做任何改變,涵蓋了代碼生成,自定義ID生成器,快速實現(xiàn)CRUD,自動分頁,邏輯刪除等功能。本文就來講講SpringBoot項目如何使用mybatis-plus實現(xiàn)代碼生成,需要的可以了解一下2022-10-10Java8使用Supplier啟動ScheduledThread代碼實例
這篇文章主要介紹了Java8使用Supplier啟動ScheduledThread詳解,項目開啟立即啟動定時任務(wù)是很多項目都會遇到的一個需求,如何利用Java提供的函數(shù)優(yōu)雅的寫出來十分考驗一個人的功底,需要的朋友可以參考下2024-01-01Java數(shù)據(jù)結(jié)構(gòu)之ArrayList從順序表到實現(xiàn)
Java中的ArrayList是一種基于數(shù)組實現(xiàn)的數(shù)據(jù)結(jié)構(gòu),支持動態(tài)擴容和隨機訪問元素,可用于實現(xiàn)順序表等數(shù)據(jù)結(jié)構(gòu)。ArrayList在內(nèi)存中連續(xù)存儲元素,支持快速的隨機訪問和遍歷。通過學習ArrayList的實現(xiàn)原理和使用方法,可以更好地掌握Java中的數(shù)據(jù)結(jié)構(gòu)和算法2023-04-04Spring RestTemplate簡化HTTP通信實現(xiàn)功能探究
這篇文章主要為大家介紹了Spring框架中的RestTemplate,如果你是個Java程序員,那么你肯定知道Spring框架的重要性,在Spring的眾多工具中,RestTemplate是用來簡化HTTP通信的一個強大工具2024-01-01Spring Boot連接超時導(dǎo)致502錯誤的實戰(zhàn)案例
這篇文章主要給大家介紹了關(guān)于Spring Boot連接超時導(dǎo)致502錯誤的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09