自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一篇文章帶你了解Java構(gòu)造方法的定義和重載

開發(fā) 后端

 一、構(gòu)造方法的定義

(一)什么構(gòu)造方法

實例化一個類的對象后,如果要給屬性賦值,需要通過訪問對象的屬性或setXXX()方法。在實例化對象后同時給對象的屬性賦值可以使用構(gòu)造方法,構(gòu)造方法也叫做構(gòu)造函數(shù)。用來對對象進行初始化。

(二)構(gòu)造方法特點

1.構(gòu)造方法的名字必須和類名完全相同。

2.方法名前面沒有返回值,甚至連表示沒有返回值的空類型(void)也沒有。

3.在方法中不能使用return語句返回一個值。

4.構(gòu)造方法一般定義是為public。

5.使用new運算符調(diào)用構(gòu)造方法。

(三)如何在類中定義構(gòu)造方法

例如:

  1. public class Person { 
  2.    public String name; //成員變量--名字 
  3.    public int age; //成員變量--年齡 
  4. //構(gòu)造方法--方法名和類型是相同的,并且沒有返回值類型和返回值 
  5.   public Person(String s, int a){ 
  6.          name = s; //為name屬性賦值 
  7.          age = a; //為age屬性賦值 
  8.  } 
  9.  //say()方法 
  10. public void say(){ 
  11.      System.out.println("你好!我是" + name + ",今年" + age + "歲。"); 
  12. }   
  13.       
  14. public static void main(String[] args) {     
  15.    // TODO Auto-generated method stub     
  16.     Person p1 = new Person("李華", 20);//創(chuàng)建第一個對象         
  17.     Person p2 = new Person("小名", 19);  //創(chuàng)建第二個對象         
  18.     p1.say();  //調(diào)用對象的方法         
  19.     p2.say();  //調(diào)用對象的方法   
  20.   } 

輸出的結(jié)果是:

你好!我是李華,今年20歲。

你好!我是小名,今年19歲。

首先是Person類定義了有參的構(gòu)造方法Person(String s, int a)在new Person實例化對象時同時調(diào)用有參的構(gòu)造方法,在有參的構(gòu)造方法Person(String s, int a)給name和age屬性賦值。

二、構(gòu)造方法的重載

1.構(gòu)造方法的重載:在一個類中可以定義多個構(gòu)造方法,只要每個構(gòu)造方法參數(shù)類型或參數(shù)個數(shù)不一樣。

2.如何實現(xiàn)構(gòu)造方法的重載

例如:

  1. class Person{ 
  2. public String name
  3. public int age; 
  4. //定義兩個參數(shù)的構(gòu)造方法 
  5. public Person(String s,int a){ 
  6.   name=s; 
  7.   age=a; 
  8. //定義一個參數(shù)的構(gòu)造方法 
  9. public Person(String s){ 
  10.   name=s; 
  11. //say()方法 
  12. public void say(){ 
  13. //控制臺輸出name和age的值 
  14.   System.out.println("你好!我是" + name + ",今年" + age + "歲。"); 
  15.   } 
  16. public class p16 { 
  17. public static void main(String[] args) { 
  18.   // TODO Auto-generated method stub 
  19.   Person p1=new Person("李華");//創(chuàng)建第一個對象 
  20.   Person p2=new Person("小名",19);//創(chuàng)建第二個對象 
  21.   p1.say();//調(diào)用對象的方法 
  22.   p2.say();//調(diào)用對象的方法 
  23.   } 

輸出的結(jié)果是:

你好!我是李華,今年0歲。

你好!我是小名,今年19歲。

在上面代碼中,Person類中定義了兩個參數(shù)構(gòu)造方法和一個參數(shù)構(gòu)造方法,它們是構(gòu)造方法的重載。在創(chuàng)建實例化對象,p1和p2因為傳入的參數(shù)的不同,調(diào)用的不同的構(gòu)造方法。我們發(fā)現(xiàn)兩個構(gòu)造方法給對象的屬性賦值不同,在給一個參數(shù)的構(gòu)造方法中只是給name賦值的,此時的age屬性的值是默認為0的。

三、類和數(shù)組的使用

1.一個案例來分析類和數(shù)組的使用

例如:

  1. public class Person5 { 
  2. public String name;//姓名 
  3. public int age;//年齡 
  4. //say()方法 
  5. public void say(){ 
  6.   System.out.println("你好!我是" + name + ",今年" + age + "歲。"); 
  7.  
  8. public static void main(String[] args) { 
  9. // TODO Auto-generated method stub 
  10. //創(chuàng)建數(shù)組 
  11.     Person5[] students; 
  12.     students = new Person5[2]; 
  13.     //創(chuàng)建第一個對象z 
  14.     Person5 z = new Person5(); 
  15.     z.name = "張三";//給name屬性賦值 
  16.     z.age = 18;//給age屬性賦值 
  17.     //創(chuàng)建第二個對象l 
  18.     Person5 l = new Person5(); 
  19.     l.name = "李華";//給name屬性賦值 
  20.     l.age = 20;//給age屬性賦值 
  21.     //給數(shù)組賦值 
  22.     students[0] = z; 
  23.     students[1] = l; 
  24.     //調(diào)用方法 
  25.     l.say(); 
  26.     students[0].say(); 
  27.   } 

 

從上面的代碼中,定義個Person類,這個類中有成員變量name和age,還有一個say()方法。在主程序(main)方法中創(chuàng)建了數(shù)組,通過數(shù)組的下標為數(shù)組賦值,創(chuàng)建兩個對象分別給每個一個對象name屬性和age屬性賦值,最后調(diào)用Person類中的方法。

四、總結(jié)

本文主要介紹了構(gòu)造方法、構(gòu)造方法的重載、類和數(shù)組的使用。

構(gòu)造方法介紹了在實例化對象后同時給對象的屬性賦值,構(gòu)造方法的特點,通過一個案例類中如何定義構(gòu)造方法來了解這個用法。

構(gòu)造方法的重載在一個類中可以定義多個構(gòu)造方法,只要每個構(gòu)造方法參數(shù)類型或參數(shù)個數(shù)不一樣。

類和數(shù)組的使用通過一個簡單的案例來了解怎樣去使用。希望通過本文的學習,對你有所幫助!

本文轉(zhuǎn)載自微信公眾號「 Java進階學習交流」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系 Java進階學習交流公眾號。

 

責任編輯:武曉燕
相關(guān)推薦

2023-06-15 10:11:08

JavaScript函數(shù)表達式

2023-05-08 08:21:15

JavaNIO編程

2025-01-09 11:17:19

2021-04-14 10:00:44

Python運算符重載

2023-05-12 08:19:12

Netty程序框架

2021-06-30 00:20:12

Hangfire.NET平臺

2020-10-27 10:05:32

JavaScript 數(shù)組迭代

2023-09-01 16:32:36

JavaScript

2023-10-10 15:29:36

JavaScript開發(fā)

2023-07-30 15:18:54

JavaScript屬性

2021-01-26 23:46:32

JavaScript數(shù)據(jù)結(jié)構(gòu)前端

2021-03-09 14:04:01

JavaScriptCookie數(shù)據(jù)

2021-06-24 09:05:08

JavaScript日期前端

2021-09-27 09:18:30

ListIterato接口方法

2023-09-06 14:57:46

JavaScript編程語言

2024-01-30 13:47:45

2024-04-19 14:23:52

SwitchJavaScript開發(fā)

2020-12-08 08:09:49

SVG圖標Web

2021-03-05 18:04:15

JavaScript循環(huán)代碼

2021-05-18 08:30:42

JavaScript 前端JavaScript時
點贊
收藏

51CTO技術(shù)棧公眾號