構造器理解
- 什麼是構造器
構造器也叫構造方法;用於對象的初始化;
- 寫構造器注意事項
構造器名與類名一致;有返回值但是不能定義返回類型(返回值類型是本類,可以加一個空的return);
- 構造器的調用
通過 new 關鍵字調用,從而返回類的實例
自我理解成類裏面的成員變量,因爲C語言學慣了,總有點不適應感悟:我也是通過1、2 段代碼的對比理解了構造器
附上代碼1:
/**
* 測試構造器(構造方法)
* @author DREAM_yao
* 本代碼求兩點之間的距離 p點與origin點
*/
class Point{
double x,y;
public double getDistance(Point p) {
return Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
}
}
public class TestConstructor {
public static void main(String[] args) {
Point p = new Point();/*創建一個 點(對象) */
p.x=3;
p.y=4;/*不用構造器,兩點通過這種方式初始化*/
Point origin = new Point();
origin.x=0;
origin.y=0;
System.out.println(p.getDistance(origin));
}
}
附上代碼2:
/**
* 測試構造器(構造方法)
* @author DREAM_yao
* 本代碼求兩點之間的距離 p點與origin點
*/
class Point{
double x,y;
/*兩種構造器寫法*/
/*public Point(double x,double y) {
this.x=x;
this.y=y;
}*/
public Point(double _x, double _y) {
x = _x;
y = _y;
}
public double getDistance(Point p) {
return Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
}
}
public class TestConstructor {
public static void main(String[] args) {
Point p = new Point(3.0,4.0);/*通過將參數傳過去,初始化*/
Point origin = new Point(0.0,0.0);
System.out.println(p.getDistance(origin));
}
}
構造器(構造方法的重載)
- 跟方法的重載一樣,所有構造器名與類名一致,只是參數的數量不同.
- 方法的重載是指一個類中可以定義多個方法名相同,但參數不同的方法。 調用時,會根據不同的參數自動匹配對應的方法。
- 總之就是讓編譯器能分辨出來該與哪個方法匹配就ok啦
DREAM_yao : 如果有不正確的地方,請指正!