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