1. 程式人生 > >Java自學筆記(十一)

Java自學筆記(十一)

構造方法

構造方法,建立物件時候給予物件賦值的一種方式,在new的時候執行。 構造方法格式: 修飾符 + 方法名稱(引數型別和名稱){ …… } 注意,構造方法的名稱必須和類名保持完全一致(大小寫也要統一)
例子:

關於構造方法,如果類當中沒有使用構造方法,Java是自動生成空構造方法,對於上述而言,即是 “Animal(){}",另外,在一個類中允許構造方法的過載。

由構造方法過載衍生出來的,便是構造方法之間的呼叫,這裡面的關鍵字還是this,但區別成員變數與方法變數之間的this.的方式,使用this(),下面是例子
		        class Person {
			private int age;
			private String name;

			Person() {
			}

			Person(String s) {
				name = s;
			}

			Person(String s, int a) {
				this(s);    //必須放在構造方法的第一行,跟後邊super()一樣的性質
				age = a;
			}
		}
由this()帶出來同類之間的構造方法呼叫,當然也就有父子類的構造方法使用。

簡單說明一下: 呼叫本類中的構造方法:this(引數型別+名字); 呼叫父類中的空引數構造方法:super(); 呼叫父類中由引數的構造方法:super(引數型別+名字); 構造方法都是預設存在的,所以,哪怕在子類繼承父類的情況下,子類存在構造方法時,會去執行預設的super(); 由於子類繼承了父類的內容,建立物件時,要先看父類是如何對其內容進行初始化的,所以 子類物件建立都要訪問父類中的構造方法。 另外,this()和super()不能同時出現
		public class Test {
			public static void main(String[] args) {
				new Zi();
			}
			
		}
		class Fu{
			int i ;
			Fu(){
				System.out.println("Fu構造方法"+i);
				i = 1;
			}
		}
		class Zi extends Fu{
			Zi(){
		         //super(); 呼叫父類空引數構造方法
				System.out.println("Zi構造方法"+i);
			}
		}