動手動腦篇之類與物件
答:foo obj1=new foo()在此處呼叫的時候沒有引數
答:執行類成員定義時指定的預設值或類的初始化塊,到底執行哪乙個要看哪乙個「排在前面」。
執行類的建構函式。類的初始化塊不接收任何的引數,而且只要一建立類的物件,它們就會被執行。因此,適合於封裝那些「物件建立時必須執行的**」。
答:結果是100 300
答:執行類成員定義時指定的預設值或類的初始化塊,到底執行哪乙個要看哪乙個「排在前面」。
執行類的建構函式 ,當有多個建構函式時,要通過引數區分。
類的初始化塊不接收任何的引數,而且只要一建立類的物件,它們就會被執行。因此,適合於封裝那些「物件建立時必須執行的**」。
class grandfather
static
system.out.println("grandfather的靜態初始化塊");
class father extends grandfather
static
system.out.println("father的靜態初始化塊");
class son extends father
static
system.out.println("son的靜態初始化塊");
答:靜態初始化塊只執行一次。建立子型別的物件時,也會導致父型別的靜態初始化塊的執行。
class example
public static void display()
system.out.println("類的方法");
public void displayone()
system.out.println("物件的方法");
public static void main(string args)
example.display();
example e=new example();
e.displayone();
e.display();
答: 因為它們呼叫的interger
類的方法不同,所以結果不同。
package jxlpacakge;
public class hello
public static void main(string args)
system.out.println("hello world!");
修改後
public class test
private int id;
private string name;
private static long count;
private final static threadlocal tl=new threadlocal();
public test()
super();
count++;
tl.set(count);
public long getcount()
return (long)tl.get();
public static void main(string args) {
for (int i = 0; i
test t=new test();
system.out.println(t.getcount());
動手動腦總結
本次動手動腦結論如下。為什麼要用多型。是因為派生類的功能可以被基類的方法或引用變數所呼叫,這叫向後相容,可以提高可擴充性和可維護性。關於物件導向為什麼要有介面的問題。介面是規範,規定某個實現類裡必須有那些方法,只要事先定義好介面,當大家一起合作的時候就不用特別麻煩的互動,而是每個人寫好自己的介面實現...
動手動腦2
1.編寫乙個方法,使用以上演算法生成指定數目 比如1000個 的隨機整數 a.利用產生隨機數的公式x n 1 axn c mod m計算出所需要的隨機數,利用for迴圈產生每二十個一行的隨機數 b.源 package suijshu10001 public class test public sta...
動手動腦1
package test public class test class foo 因為test類構造了class foo 方法導致系統不再提供預設無引數的構造方法,然而此類並沒有符合class foo的構造方法應該有引數的foo obj1 new foo x x是乙個整數。2.package tes...