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)造方法的情況下,編譯器會自動在編譯期為其添加默認(rèn)的構(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)會默認(rèn)該類只有一個構(gòu)造方法(無參,方法體中無語句)
1.1.默認(rèn)構(gòu)造方法與自定義構(gòu)造方法
若類中定義了一個或多個構(gòu)造方法,Java不提供默認(rèn)構(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對象的引用和實體(略)
代碼例子:
//默認(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)造方法與對象的創(chuàng)建詳解的全部內(nèi)容,希望對大家有所幫助。如有問題可以隨時留言,小編會及時回復(fù)大家的,期待您的寶貴意見。
相關(guān)文章
SpringSecurity實現(xiàn)自定義登錄接口的詳細(xì)過程
本文詳細(xì)介紹了如何使用SpringSecurity實現(xiàn)自定義登錄接口,文章還涉及了對用戶實體類的增強以滿足詳細(xì)信息的需求,適合需要深入了解和實現(xiàn)SpringSecurity自定義登錄功能的開發(fā)者,感興趣的朋友跟隨小編一起看看吧2024-10-10
Java畢業(yè)設(shè)計實戰(zhàn)項目之在線服裝銷售商城系統(tǒng)的實現(xiàn)流程
基礎(chǔ)掌握怎么樣,用實戰(zhàn)檢驗就知道了,本篇文章手把手帶你用java+SpringBoot+Maven+Vue+mysql實現(xiàn)一個在線服裝銷售商城系統(tǒng),大家可以在過程中查缺補漏,提升水平2022-01-01
簡化API提升開發(fā)效率RestTemplate與HttpClient?OkHttp關(guān)系詳解
這篇文章主要為大家介紹了簡化API,提升開發(fā)效率,RestTemplate與HttpClient?OkHttp關(guān)系介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
SpringBoot如何配置MySQL和Oracl雙數(shù)據(jù)源(Mybatis)
這篇文章主要介紹了SpringBoot如何配置MySQL和Oracl雙數(shù)據(jù)源(Mybatis)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03
java如何更改數(shù)據(jù)庫中的數(shù)據(jù)
這篇文章主要介紹了java如何更改數(shù)據(jù)庫中的數(shù)據(jù),修改數(shù)據(jù)庫是數(shù)據(jù)庫操作必不可少的一部分,使用Statement接口中的excuteUpdate()方法可以修改數(shù)據(jù)表中的數(shù)據(jù),感興趣的朋友跟隨小編一起看看吧2021-11-11

