一:構造方法的概念: 構造方法是一種特殊的方法,它是一個與類同名的方法。對象的創建就是通過構造方法來完成,其功能主要是完成對象的初始化。當類實例化一個對象時會自動調用構造方法。構造方法和其他方法一樣也可以重載。 二:構造方法的特殊性(反映在以下幾個方面): 1.構造方法作用: (1)構造出來一個類的 ...
一:構造方法的概念:
構造方法是一種特殊的方法,它是一個與類同名的方法。對象的創建就是通過構造方法來完成,其功能主要是完成對象的初始化。當類實例化一個對象時會自動調用構造方法。構造方法和其他方法一樣也可以重載。
二:構造方法的特殊性(反映在以下幾個方面):
1.構造方法作用: (1)構造出來一個類的實例 (2)對構造出來個一個類的實例(對象)初始化。 2.構造方法的名字必須與定義他的類名完全相同,沒有返回類型,甚至連void也沒有。 3.主要完成對象的初始化工作,構造方法的調用是在創建一個對象時使用new操作進行的。 4.類中必定有構造方法,若不寫,系統自動添加無參構造方法。介面不允許被實例化,所以介面中沒有構造方法。 5.不能被static、final、synchronized、abstract和native修飾。 6.構造方法在初始化對象時自動執行,一般不能顯式地直接調用.當同一個類存在多個構造方法時,java編譯系統會自動按照初始化時最後面括弧的參數個數以及參數類型來自動一一對應。完成構造函數的調用。 7.構造方法分為兩種:無參構造方法 有參構造方法 構造方法可以被重載。沒有參數的構造方法稱為預設構造方法,與一般的方法一樣,構造方法可以進行任何活動,但是經常將他設計為進行各種初始化活動,比如初始化對象的屬性。 【代碼示例01】【代碼示例02】
1 class Penguin { 2 // 屬性 3 /* 無參構造方法 */ 4 public Penguin() { 5 name = "qq"; 6 love = 20; 7 sex = "Q仔"; 8 System.out.println("執行構造方法"); 9 } 10 }
三:構造方法的特點:
1:方法名與類名相同
2:無返回值類型
3:可以被重載
4:不能被繼承
5:不能被重寫
6:主要作用為: 用於對象的創建(new)
註意:
(1)調用時機:類new時被自動調用
(2)作用:在類初始化的時候進行賦值
四:構造方法的重載
【代碼示例】
//無參構造 public Penguin () { name = "qq"; love = 20; sex = "Q仔"; } 調用方法: Penguin pgn = new Penguin(); //============================================= //有參構造 public Penguin (String name,int health,int love,String sex ) { this.name = name; this.health = health; this.love = love; this.sex = sex; } 調用方法: Penguin pgn = new Penguin("美美", 80, 20, "Q仔"); //============================================== //重載方法 public Penguin (String name,int health,String strain ) { this.name = name; this.health = health; this.strain = strain; } 調用方法:Penguin pgn = new Penguin("美美", 60, "拉布拉多");
1:方法重載的特殊性:
(1):方法名相同 (兩個及兩個以上方法名相同)
(2):參數項不同 (參數數據類型或個數不同)
(3):與訪問修飾符和返回值無關
(4):用在同一個類里
註意:構造方法與普通方法都可以形成重載
2:方法重載的作用:
(1):減少代碼量,使代碼更簡潔明瞭
(2):調用方便,提高代碼的靈活性
五:this關鍵字的用法:
1:this的概念:this關鍵字 是對一個對象 的預設引用,這裡用以區分同名成員變數
2:this的使用:
(1)調用屬性 eg: this.health=100; this.strain="拉布拉多";
(2)調用方法 eg: this.print();
(3)調用構造方法 eg: this()【調用無參構造方法】 this("小黑",100,100,"公") 【調用有參構造方法】
註意:•(如果調用構造方法,必須是構造方法中的第一條語句,且只用在同一個類中)
•(在子類中,既可以調用本類的屬性和方法,也可以調用父類的屬性和方法)