package test;因為test類構造了class foo{}方法導致系統不再提供預設無引數的構造方法,然而此類並沒有符合class foo的構造方法應該有引數的foo obj1=new foo(x);x是乙個整數。public class test
}class foo
}
2.
package test;輸出的結果為100 300class initializeblockclass
public int field=100;
public initializeblockclass(int value)
public initializeblockclass()
public static void main(stringagrs) }
執行類成員定義時指定的預設值或類的初始化塊,到底執行哪乙個要看哪乙個「排在前面」。 執行類的建構函式。
類的初始化塊不接收任何的引數,而且只要一建立類的物件,它們就會被執行。因此,適合於封裝那些「物件建立時必須執行的**」。
3.
package test;輸出結果:class root
public root() }
class mid extends root
public mid()
public mid(string msg) }
class leaf extends mid
public leaf() }
public class teststaticinitializeblock
}
靜態初始化塊只執行一次。 建立子型別的物件時,也會導致父型別的靜態初始化塊的執行。執行leaf()子型別也將root的父型別也執行了
靜態方法中訪問類的例項成員時需要再靜態方法中建立該類的物件,一次能訪問類的例項成員。
動手動腦總結
本次動手動腦結論如下。為什麼要用多型。是因為派生類的功能可以被基類的方法或引用變數所呼叫,這叫向後相容,可以提高可擴充性和可維護性。關於物件導向為什麼要有介面的問題。介面是規範,規定某個實現類裡必須有那些方法,只要事先定義好介面,當大家一起合作的時候就不用特別麻煩的互動,而是每個人寫好自己的介面實現...
動手動腦2
1.編寫乙個方法,使用以上演算法生成指定數目 比如1000個 的隨機整數 a.利用產生隨機數的公式x n 1 axn c mod m計算出所需要的隨機數,利用for迴圈產生每二十個一行的隨機數 b.源 package suijshu10001 public class test public sta...
動手動腦(二)
動手動腦 一 編寫乙個方法,使用以上演算法生成指定數目 比如1000個 的隨機整數。程式源 packagemath publicclassdo publicstaticvoidmain string args inta newint 2000 a 0 int math.random 1000 for...