中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何辨別java中的構造方法和普通方法

發布時間:2020-11-07 15:50:49 來源:億速云 閱讀:257 作者:Leah 欄目:開發技術

如何辨別java中的構造方法和普通方法?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

1.普通方法:

定義:簡單的說方法就是完成特定功能的代碼塊。

普通方法定義格式:

修飾符 返回值類型 方法名 (參數類型 參數名1,參數類型 參數名2,.........) { 函數體; return 返回值; }

返回值類型用于限定返回值的數據類型。

普通方法分為:有明確返回值的方法和沒有明確返回值的方法。

A.有明確返回值的方法的調用

可以單獨調用(無意義)、輸出調用、賦值調用(推薦)。

public static int sum (int a , int b)
{
  int c =a+b;
  return c ;
}
public static void main(String[] args)
{
      //sum(10,20); //單獨調用
      //System.out.println(sum(10,20)); //輸出調用
      int sum01 =sum(10,20); //賦值調用
}

B.沒有明確返回值的方法調用(void類型方法的調用)

只能單獨使用。

(如果一個方法沒有明確的返回值類型,方法定義中的“返回值類型”就用void代替,表示該方法無返回值類型。)

2.構造方法

定義:簡單的來說是給對象的數據進行初始化的。

構造方法是類的一個特殊的成員,在類實例化時會自動調用。

構造方法定義格式:

修飾符 方法名() { }

注意:

1.方法名與類名相同。

2.沒有返回值類型。 3.沒有具體的返回值。

構造方法分為:無參構造方法和有參構造方法。

A.無參構造方法

public class Student{
public Student(){          //無參構造方法
System.out.println("無參方法被調用");
}
}
public class Test {
public static void main (String[] args){
Student  stu = new Student(); //實例化Student對象
}
}//該方法是無參的構造方法,即構造方法不接收參數,執行后輸出即可,無參的構造方法被調用。

B.無參構造方法

為一個屬性賦值有兩種方法:①、直接訪問對象屬性 ②、通過setXxx()方法

如果想在實例化對象的同時就為這個對象的屬性進行賦值,可以通過帶參數的構造方法來實現

public class Student{
private String name;
private int age;
public Student(String name,int age){       //有參構造方法
  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);   //實例化對象的同時賦值
stu.show();
}
}

構造方法注意事項:

1.java中的每一個類都至少有一個構造方法,如果我們沒有創建,系統會為我們創建一個默認的無參構造方法。(不顯示代碼)

2.但是如果我們定義了構造方法,系統就不會再為我們提供默認的無參構造方法了。這個時候想使用無參構造方法必須自己定義。因為實例化對象時,不一定會輸入參數,那么沒有無參的構造方法,又不輸入參數,就會出錯。

3.構造方法需要用public來修飾,若使用private,在其他類中無法將其實例化。

4.構造方法是可以重載的。

補充知識:java中 concat()方法 , "+"和append()方法的區別?

由下面的例子可看出,"+"和append()方法都可以對任意類型數據進行拼接,而concat()方法則需要將其他類型的數據則要轉化為字符串后才能拼接

package 練習題;
import java.util.ArrayList;
import java.util.List;

public class 練習題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)); //運行后報空指針異常NullPointerException
 String str2=null;
 System.err.println(str2.concat("asdf"));//運行后報空指針異常NullPointerException
 }
}

輸出結果:

100日沖刺,決勝高考!

100日沖刺,決勝高考!

100日沖刺,決勝高考!

Exception in thread "main" java.lang.NullPointerException

concat()方法:String類的concat()方法(只能用于拼接字符串,不能拼接其他類型的數據)將指定的字符串拼接到該字符串的末尾。并且字符串本身和拼接的字符串都不能為null,否則運行程序后會報空指針異常NullPointerException(編譯時沒有報錯)。

"+":可以對字符,數字,字符串等數據類型的拼接

append()方法:可以對字符,數字,字符串等數據類型的拼接,結果返回一個StringBuffer類型的對象

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宝丰县| 左云县| 卫辉市| 淮安市| 罗山县| 邓州市| 通化县| 彭阳县| 宿迁市| 同心县| 清徐县| 林州市| 威信县| 赤城县| 哈尔滨市| 乐至县| 阿坝| 玉田县| 偏关县| 缙云县| 陆良县| 宝鸡市| 茂名市| 新宁县| 湛江市| 玉龙| 汉寿县| 舞阳县| 广元市| 斗六市| 聂荣县| 沂水县| 读书| 焦作市| 资讯| 紫阳县| 东山县| 香河县| 方城县| 山阳县| 奇台县|