1. 程式人生 > >04.面向物件——構造方法

04.面向物件——構造方法

例項化物件的同時,就為這個物件的屬性進行賦值——就是初始化

一、無參的初始化

class Person {	
	public Person() {// 定義構造方法
		System.out.println("呼叫無參的構造方法");
	}
}
public class Example09 {
	public static void main(String[] args) {
		Person p = new Person();
	}
}

/*
     * private關鍵字修飾的構造方法Person()只能在Person類中被訪問
     * 也就是說Person()構造方法是私有的,不可以被外界呼叫

,也就無法在類的外部建立該類的例項物件。
     * 因此,為了方便例項化物件,構造方法通常會使用public來修飾
     */

Person p = new Person();其中“new Person()”語句兩個作用:

  1. 例項化Person物件
  2. 呼叫構造方法Person()

由結果可以看出,他們運行了。

 

二、有參的初始化

class Person {
	int age;
	public Person(){} //無參構造
	public Person(int x) { //有參構造
		age = x;
	}
	public void speak() {
		System.out.println("我今年"+age+"歲");
	}
}
public class Example01 {
	public static void main(String[] args) {
		Person p = new Person(19); // 例項化 Person物件
		p.speak();
	}
}

    /*
     * 當類中定義了有參的構造方法時,還需要定義一個無參的構造方法,
     * 如果不定義無參構造方法,會報出構造方法未定義的錯誤
     */

Person物件在呼叫speak時,其age屬性就已經被賦值為19了