java中構(gòu)造方法和普通方法的區(qū)別說明
1.普通方法:
定義:簡單的說方法就是完成特定功能的代碼塊。
普通方法定義格式:
修飾符 返回值類型 方法名 (參數(shù)類型 參數(shù)名1,參數(shù)類型 參數(shù)名2,.........) { 函數(shù)體; return 返回值; }
返回值類型用于限定返回值的數(shù)據(jù)類型。
普通方法分為:有明確返回值的方法和沒有明確返回值的方法。
A.有明確返回值的方法的調(diào)用
可以單獨(dú)調(diào)用(無意義)、輸出調(diào)用、賦值調(diào)用(推薦)。
public static int sum (int a , int b){ int c =a+b; return c ;}public static void main(String[] args){ //sum(10,20); //單獨(dú)調(diào)用 //System.out.println(sum(10,20)); //輸出調(diào)用 int sum01 =sum(10,20); //賦值調(diào)用}
B.沒有明確返回值的方法調(diào)用(void類型方法的調(diào)用)
只能單獨(dú)使用。
(如果一個方法沒有明確的返回值類型,方法定義中的“返回值類型”就用void代替,表示該方法無返回值類型。)
2.構(gòu)造方法
定義:簡單的來說是給對象的數(shù)據(jù)進(jìn)行初始化的。
構(gòu)造方法是類的一個特殊的成員,在類實(shí)例化時會自動調(diào)用。
構(gòu)造方法定義格式:
修飾符 方法名() { }
注意:
1.方法名與類名相同。
2.沒有返回值類型。 3.沒有具體的返回值。
構(gòu)造方法分為:無參構(gòu)造方法和有參構(gòu)造方法。
A.無參構(gòu)造方法
public class Student{public Student(){ //無參構(gòu)造方法System.out.println('無參方法被調(diào)用');}}public class Test {public static void main (String[] args){Student stu = new Student(); //實(shí)例化Student對象}}//該方法是無參的構(gòu)造方法,即構(gòu)造方法不接收參數(shù),執(zhí)行后輸出即可,無參的構(gòu)造方法被調(diào)用。
B.無參構(gòu)造方法
為一個屬性賦值有兩種方法:①、直接訪問對象屬性 ②、通過setXxx()方法
如果想在實(shí)例化對象的同時就為這個對象的屬性進(jìn)行賦值,可以通過帶參數(shù)的構(gòu)造方法來實(shí)現(xiàn)
public class Student{private String name;private int age;public Student(String name,int age){ //有參構(gòu)造方法 this name = name; this age = age ;}public void show (){System.out.println('姓名:'+name+'年齡:'+age);}}public class Test02(){public static void main (String[] args){Student stu = new Student('王小五',25); //實(shí)例化對象的同時賦值stu.show();}}
構(gòu)造方法注意事項(xiàng):
1.java中的每一個類都至少有一個構(gòu)造方法,如果我們沒有創(chuàng)建,系統(tǒng)會為我們創(chuàng)建一個默認(rèn)的無參構(gòu)造方法。(不顯示代碼)
2.但是如果我們定義了構(gòu)造方法,系統(tǒng)就不會再為我們提供默認(rèn)的無參構(gòu)造方法了。這個時候想使用無參構(gòu)造方法必須自己定義。因?yàn)閷?shí)例化對象時,不一定會輸入?yún)?shù),那么沒有無參的構(gòu)造方法,又不輸入?yún)?shù),就會出錯。
3.構(gòu)造方法需要用public來修飾,若使用private,在其他類中無法將其實(shí)例化。
4.構(gòu)造方法是可以重載的。
補(bǔ)充知識:java中 concat()方法 , '+'和append()方法的區(qū)別?
由下面的例子可看出,'+'和append()方法都可以對任意類型數(shù)據(jù)進(jìn)行拼接,而concat()方法則需要將其他類型的數(shù)據(jù)則要轉(zhuǎn)化為字符串后才能拼接
package 練習(xí)題;import java.util.ArrayList;import java.util.List;public class 練習(xí)題29 { public static void main(String[] args) { List<Object> list=new ArrayList<Object>(); list.add(100); list.add(’日’); list.add('沖刺,決勝高考!'); StringBuffer sb=new StringBuffer(); for(char i=0;i<list.size();i++){ sb.append(list.get(i)); } System.err.println(sb); String s1=''; for(char i=0;i<list.size();i++){ s1=s1+list.get(i); } System.err.println(s1); String s2=''; for(char i=0;i<list.size();i++){ s2=s2.concat( list.get(i).toString()); } System.err.println(s2); String str1=''; System.err.println(str1.concat(null)); //運(yùn)行后報空指針異常NullPointerException String str2=null; System.err.println(str2.concat('asdf'));//運(yùn)行后報空指針異常NullPointerException }}
輸出結(jié)果:
100日沖刺,決勝高考!
100日沖刺,決勝高考!
100日沖刺,決勝高考!
Exception in thread 'main' java.lang.NullPointerException
concat()方法:String類的concat()方法(只能用于拼接字符串,不能拼接其他類型的數(shù)據(jù))將指定的字符串拼接到該字符串的末尾。并且字符串本身和拼接的字符串都不能為null,否則運(yùn)行程序后會報空指針異常NullPointerException(編譯時沒有報錯)。
'+':可以對字符,數(shù)字,字符串等數(shù)據(jù)類型的拼接
append()方法:可以對字符,數(shù)字,字符串等數(shù)據(jù)類型的拼接,結(jié)果返回一個StringBuffer類型的對象
以上這篇java中構(gòu)造方法和普通方法的區(qū)別說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. PHP使用Swagger生成好看的API文檔2. ASP.NET MVC使用jQuery ui的progressbar實(shí)現(xiàn)進(jìn)度條3. Python3 json模塊之編碼解碼方法講解4. Python 制作查詢商品歷史價格的小工具5. Python 如何調(diào)試程序崩潰錯誤6. Python 利用Entrez庫篩選下載PubMed文獻(xiàn)摘要的示例7. ASP基礎(chǔ)知識VBScript基本元素講解8. python使用jenkins發(fā)送企業(yè)微信通知的實(shí)現(xiàn)9. Python sublime安裝及配置過程詳解10. Python 合并拼接字符串的方法

網(wǎng)公網(wǎng)安備