Java構(gòu)造函數(shù)與普通函數(shù)用法詳解
函數(shù)也被稱(chēng)為方法!
函數(shù)的作用及特點(diǎn):
1、用于定義功能,將功能封裝。
2、可以提高代碼的復(fù)用性。
函數(shù)注意事項(xiàng):
1、不能進(jìn)行函數(shù)套用(不可以在函數(shù)內(nèi)定義函數(shù))。
2、函數(shù)只有被調(diào)用才能被執(zhí)行。
3、基本數(shù)據(jù)類(lèi)型(String、int、….)修飾的函數(shù)類(lèi)型,要有return返回值。
4、void修飾的函數(shù),函數(shù)中的return語(yǔ)句可以省略不寫(xiě)。
5、函數(shù)名可以根據(jù)需求進(jìn)行命名。
代碼示例:(有無(wú)函數(shù)/方法的區(qū)別)
無(wú)函數(shù)/方法代碼例子:
public class NoFunc {
public static void main(String[] args) { //main也是一個(gè)函數(shù),用于程序運(yùn)行
int a=1;
int b=2;
int addSum=0;
int mulSum=0;
addSum=a+b;
mulSum=a*b;
System.out.println("加法"+addSum);
System.out.println("乘法"+mulSum);
a=2; //修改a值,另做運(yùn)算
addSum=a+b;
mulSum=a*b;
System.out.println("加法"+addSum);
System.out.println("乘法"+mulSum);
}
}
普通函數(shù)/方法代碼例子:
public class Func {
int a=1; //a為實(shí)際參數(shù)
int b=2;
void Cal(int addSum,int mulSum){ //sum為形式參數(shù)
addSum=a+b;
mulSum=a*b;
System.out.println("加法"+addSum);
System.out.println("乘法"+mulSum);
//void無(wú)返回值
}
//修改a值,另做運(yùn)算
int setA(int a){ //a為形式參數(shù)
this.a=a; //實(shí)際參數(shù)賦值給形式參數(shù)
return a; //return返回值a
}
public static void main(String[] args) { //main也是一個(gè)函數(shù),用于程序運(yùn)行
Func f=new Func(); //創(chuàng)建對(duì)象
f.Cal(0,0); //對(duì)象調(diào)用Add函數(shù),0賦值給sum(初始化)
f.setA(2); //a賦值為2
f.Cal(0,0); //另做運(yùn)算
}
}
運(yùn)行結(jié)果:(相同)
加法3
乘法2
加法4
乘法4
函數(shù)分類(lèi):
1、普通函數(shù)
2、構(gòu)造函數(shù)
3、main函數(shù)(特殊)
構(gòu)造函數(shù)注意事項(xiàng):
1、構(gòu)造函數(shù)的方法名必須與類(lèi)名相同。
2、不能聲明函數(shù)類(lèi)型,沒(méi)有返回類(lèi)型,也不能定義為void。
3、不能有任何非訪問(wèn)性質(zhì)的修飾符修飾,例如static、final、synchronized、abstract都不能修飾構(gòu)造函數(shù)。
4、構(gòu)造函數(shù)不能被直接調(diào)用,必須通過(guò)new關(guān)鍵字來(lái)調(diào)用。
構(gòu)造函數(shù)的作用:
1、方便參數(shù)的傳遞。
2、 通過(guò)new調(diào)用構(gòu)造函數(shù)初始化對(duì)象。是給與之格式(參數(shù)列表)相符合的對(duì)象初始化。
構(gòu)造函數(shù)代碼例子:
public class Constructor {
int a=233;
int b=233;
Constructor(){
//無(wú)參構(gòu)造函數(shù)
}
Constructor(int a,int b){ //有參構(gòu)造函數(shù)
this.a=a;
this.b=b;
}
void Cal(){
int addSum=a+b;
int mulSum=a*b;
System.out.println("加法"+addSum);
System.out.println("乘法"+mulSum);
//void無(wú)返回值
}
//修改a值,另做運(yùn)算
int setA(int a){ //a為形式參數(shù)
this.a=a; //實(shí)際參數(shù)賦值給形式參數(shù)
return a; //return返回值a
}
public static void main(String[] args) {
Constructor c1=new Constructor(); //無(wú)參構(gòu)造函數(shù)創(chuàng)建的對(duì)象
c1.Cal(); //無(wú)參構(gòu)造函數(shù)對(duì)象調(diào)用Cal函數(shù)
Constructor c2=new Constructor(1,2); //對(duì)象初始化
c2.Cal(); //有參構(gòu)造函數(shù)對(duì)象調(diào)用Cal函數(shù)
c2.setA(2); //a賦值為2
c2.Cal(); //另做運(yùn)算
}
}
運(yùn)行結(jié)果:
加法466
乘法54289
加法3
乘法2
加法4
乘法4
相關(guān)文章
Java將字節(jié)轉(zhuǎn)換為十六進(jìn)制代碼分享
我們知道,在java中,一個(gè)byte 就是一個(gè)字節(jié),也就是八個(gè)二進(jìn)制位;而4個(gè)二進(jìn)制位就可以表示一個(gè)十六進(jìn)制位,所以一個(gè)byte可以轉(zhuǎn)化為2個(gè)十六進(jìn)制位。下面我們就來(lái)詳細(xì)看下具體方法吧。2016-01-01
解決springmvc整合Mybatis的Log4j日志輸出問(wèn)題
這篇文章主要介紹了解決springmvc整合Mybatis的Log4j日志輸出問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
SpringBoot 單元測(cè)試實(shí)戰(zhàn)(Mockito,MockBean)
這篇文章主要介紹了SpringBoot 單元測(cè)試實(shí)戰(zhàn)(Mockito,MockBean),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
SpringBoot應(yīng)用啟動(dòng)流程源碼解析
這篇文章主要介紹了SpringBoot應(yīng)用啟動(dòng)流程源碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
Mybatis中的mapper是如何和XMl關(guān)聯(lián)起來(lái)的
這篇文章主要介紹了Mybatis中的mapper是如何和XMl關(guān)聯(lián)起來(lái)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
mybatis-plus之如何根據(jù)數(shù)據(jù)庫(kù)主鍵定義字段類(lèi)型
這篇文章主要介紹了mybatis-plus之如何根據(jù)數(shù)據(jù)庫(kù)主鍵定義字段類(lèi)型問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
詳談Array和ArrayList的區(qū)別與聯(lián)系
下面小編就為大家?guī)?lái)一篇詳談Array和ArrayList的區(qū)別與聯(lián)系。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06
Spring Boot項(xiàng)目集成UidGenerato的方法步驟
這篇文章主要介紹了Spring Boot項(xiàng)目集成UidGenerato的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12

