1.2 當沒有任何構造函數,java編譯器,會插入一個預設的構造函數 (視頻下載) (全部書籍) 見下麵的例子: 本章源碼 class Line { double x = 0.02; double y;}public class Test { public static void main(Stri ...
1.2 當沒有任何構造函數,java編譯器,會插入一個預設的構造函數 (視頻下載) (全部書籍)
見下麵的例子:
class Line {
double x = 0.02;
double y;
}
public class Test {
public static void main(String[] args) {
Line c = new Line();
System.out.println(c.x);
System.out.println(c.y);
}
}
結果:
0.02
0.0
class Circle1 {
double x = 0.02;
double y;
public Circle1(){
}
}
public class Test {
public static void main(String[] args) {
Circle1 c = new Circle1();
System.out.println(c.x);
System.out.println(c.y);
}
}
結果:
0.02
0.0
解釋一下上面的例子@馬克-to-win:實驗表明:最開始x=0,且y=0,後來執行構造函數之前,系統先用double x=0.02; double y=0;賦值, 之後再用構造函數的方法最後賦值。如構造函數中什麼都沒做就用系統開始的賦值。
類其中的變數為final時的用法: (視頻下載) (全部書籍)
類當中final變數沒有初始預設值,必須在構造函數中賦值或直接當時賦值。否則報錯。
public class Test {
final int i;
Test(){
i=3;
}
public static void main(final String[] args) {
Test t=new Test();
System.out.println("i = " + t.i);
}
。。。。。。。。。。。。。。
詳情請見:http://www.mark-to-win.com/index.html?content=JavaBeginner/javaUrl.html&chapter=JavaBeginner/JavaBeginner2_web.html#InsertDefaultConstructor