java构造函数返回值_java构造函数总结
構造函數總結
概念:??? 創建對象時由JVM自動調用的函數
作用:??? 在創建對象的時候給對象的成員變量賦值;
寫法:
修飾符:可以用訪問權限修飾符(public、private等)修飾;不能用static修飾;
返回值類型:沒有返回值類型,連void都沒有;
函數名:必須和類名完全一樣;
參數列表:可以重載,具體根據要求而定;
return語句:有,但是一般都不需要寫;
執行過程:
創建對象時,JVM遇到new關鍵字,首先要到堆內存中開辟對象空間;然后在對象空間中為成員變量分配空間,賦默認值;
然后再根據new關鍵字后面的內容,調用相應的構造函數進棧執行;等到構造函數執行結束,對象創建完成;
默認構造函數:
所有類中都至少有一個構造函數,如果一個類中沒有書寫構造函數,編譯器就會幫我們添加一個無參的構造函數,這個構造函數就是默認構造函數;
一旦類中書寫了構造函數,就不會再有默認構造函數;
使用細節:
構造函數可以調用一般函數;
一般函數不能調用構造函數;
構造函數可以調用構造函數,不能通過函數名調用,必須通過this關鍵字調用;
在構造函數中使用this語句調用其他構造函數,this語句必須寫在構造函數的第一行;
構造函數之間相互調用,不能出現交叉調用(遞歸調用);
1、什么時候需要使用構造函數?
只要創建對象,都要使用構造函數;
2、什么時候需要自定義構造函數?
如果希望在創建對象時就給成員變量賦值,就需要自定義構造函數;
3、使用構造函數,可以在創建對象的時候就給對象的成員變量賦初始值,那么,有了構造函數,還需要提供get和set方法嗎?
需要;因為構造函數只能在創建對象的時候賦值一次;如果以后想要改變這個值,就需要用到set函數;如果需要獲取被封裝的值,就需要用到get函數;
構造函數和一般函數的區別
1、從書寫格式上看:
a)???????? 構造函數:沒有返回值類型,連void都不能寫;構造函數的函數名必須和類名一樣;不能用static關鍵字修飾;
b)??????? 一般函數:必須有一個返回值類型(是和構造函數最主要的區別);一般函數名不要和類名一樣;可以用static修飾,也可以不要;
如果一個函數函數名和類名一樣,是否是構造函數,就要看有沒有返回值類型;沒有,就是構造函數;
2、從調用方式上看:
a)???????? 構造函數:創建對象時由JVM調用的;一般函數不能調用構造函數;
b)??????? 一般函數:哪里需要哪里就可以調用;構造函數里面也可以調用一般函數;
3、從作用上看:
a)???????? 構造函數:主要用來在創建對象的時候,給對象的成員變量賦值用的;
b)??????? 一般函數:實現某個具體功能;
4、從一個對象可以調用次數上看:
a)???????? 構造函數:只有創建對象時會調用一次;
b)??????? 一般函數:沒有次數限制;
總結
以上是生活随笔為你收集整理的java构造函数返回值_java构造函数总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pymol 动画简单制作,gif、mp4
- 下一篇: 单片机炫彩灯实训报告_单片机交通灯实训报