Java面向對象之構造函數 入門實例


一、基礎概念

  1.什么時候定義構造函數:

    當對象創建時,需要對象必須具備的內容,通過構造函數完成。

  2.一般函數和構造函數的區別:

    定義上:構造函數只為對象的初始化,只執行一次。一般函數定義對象應該具備的功能。可以被調用多次。

    運行上:構造函數在對象一創建,就會執行。一般函數是只有被對象調用才執行。

  3.構造函數的格式要求:

     (1). 函數名和類名相同。

     (2). 沒有返回值類型。

             (3). 沒有具體的返回值。

  4.構造函數的作用:就是對對象進行初始化。

  5.揭秘:

    (1). class定義的類中,如果沒有聲明任何構造函數,類中會默認有一個空參數的構造函數。

    (2). 如果在class類中自定義了構造函數,默認的構造函數就沒有了。構造函數在類中有多個的情況下,是以重載的形式存在的。

  6.注意:

    (1). 構造函數中也可以有return語句,用於結束初始化動作。

    (2). 構造函數的前面加了void,編譯可以通過,但是不再是構造函數,而是一般函數。(建議不要這樣寫)


二、實例代碼

  要求用構造函數的重載來實現,Person對象一旦建立就可能有一個公共的名字,或者有一個自己的名字,或者有一個自己的名字和年齡。並打印出來。

 1 class Person
 2 {
 3     private String name;
 4     private int age;
 5     
 6     //多個構造函數在同一個Person類中的重載形式
 7     
 8     //定義一個構造函數,用於給Person對象初始化。
 9     //Person 對象初始化就有姓名。
10     Person(String s)
11     {
12         name = s;
13     }
14     //Person 對象初始化就有姓名和年齡。
15     Person (String s,int a)
16     {
17         name = s;
18         age = a;
19     }
20     //Person 對象初始化什么也沒有,構造一個空參的構造函數。
21     Person ()
22     {
23         name = "bady";
24     }
25     
26     public void show1()
27     {
28         System.out.println("name="+name);
29     }
30     public void show2()
31     {
32         System.out.println("name="+name+",age="+age);
33     }
34 }
35 
36 
37 class PersonDemo2
38 {
39     
40     public static void main (String[] args)
41     {
42     //對象會自動調用對應的構造函數,進行初始化。
43         Person p1 = new Person("xiaoming");
44         p1.show1();
45         Person p2 = new Person("xiangming",20);
46         p2.show2();
47         Person p3 = new Person();
48         p3.show1();
49     }
50 }

三、代碼運行

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM