動手動腦1

2022-06-01 14:06:09 字數 1154 閱讀 7716

package test;

public class test

}class foo

}

因為test類構造了class foo{}方法導致系統不再提供預設無引數的構造方法,然而此類並沒有符合class foo的構造方法應該有引數的foo obj1=new foo(x);x是乙個整數。

2.

package test;

class initializeblockclass

public int field=100;

public initializeblockclass(int value)

public initializeblockclass()

public static void main(stringagrs) }

輸出的結果為100 300

執行類成員定義時指定的預設值或類的初始化塊,到底執行哪乙個要看哪乙個「排在前面」。 執行類的建構函式。

類的初始化塊不接收任何的引數,而且只要一建立類的物件,它們就會被執行。因此,適合於封裝那些「物件建立時必須執行的**」。

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...