代碼(等待程式)1.package waitnotify2;public class MyThread implements Runnable{ Object o ; public MyThread(Object o){ this.o = o; } public void run() { synchronized(o){ System
以下分析並不一定在實際中有用,但是為了學習尤其是為了考試,覺得還是有必要瞭解的,因為有些東西,大家可能形成了一種“代碼定勢”,呵呵(通常都說是思維定勢)。並不是死研究文法而是為了靈活的懂得一些東西。default常出現在switch-case語句的最後一行,看下面的代碼:public class TestSwitch { public static void main(String[] args){ byte a = 1; switch(a){
Boolean是對boolean型的封裝。尤其注意的一點是不能使用Boolean做判斷,即是不能像boolean一樣使用。下面是一些例子,初次遇到Boolean時,很可能混亂下面的結果:public class BooleanTest { public static void main(String[] args) { Boolean b1 = new Boolean("TRUE");//注意不區分大小寫 Boolean b2 = new Boo
Integer是對原始類型int的封裝。Short是對short的封裝。Long是對long的封裝.public class IntegerTest { public static void main(String[] args) { short s = 42; Long x = new Long("42"); Long y = new Long(42); Short z
看下代碼:public class TestOrInfo {public static boolean compareIt(int i){if(i > 10){System.out.println("in the (i > 10)");return true;} else {System.out.println("in the (i <= 10)");}return false;}public static void main(String[]
該方法實現的是加法運算。加法兩邊的資料可以是原始類型,或者是對原始類型的封裝類型,甚至是一個class對象。大家有什麼想法或者是該演算法有什麼欠缺的,還望指教。 為此我們先寫一個類,只為做示範,所有很簡單。並重寫其中的toString方法:public class B { public String toString(){ return "/"This is B/""; }} 下面是加法運算的具體實現: public static Object cal(Objec
當把物件變數傳遞到方法時,應當記住它實質是在傳遞對象引用,而不是實際對象自身,這點相信大家都知道。對象引用變數在傳遞時是傳遞該引用變數的一份拷貝,而沒有傳遞實際引用變數。變數拷貝指獲得該變數內的“位”拷貝。換句話說,調用者和被呼叫者法現在都具有該引用的完全相同的拷貝,因此二者都將引用堆上完全相同的對象(不是拷貝)。看下面的代碼:public class One {public int a = 10;}public class Two {public static void
這三個方法是在讓人頭疼,經過一陣搜尋之後,特總結如下:Math.round:如果參數是小數,則求本身的四捨五入。Math.ceil:如果參數是小數,則求最小的整數但不小於本身.Math.floor:如果參數是小數,則求最大的整數但不大於本身. 同時注意他們的傳回型別:long round(double a) int round(float a) double ceil(double a) double floor(double
當你要讀取關於對象的一些有用細節時,可以在對象上調用toString()。如,當把一個對象引用傳遞給System.out.println();時,該對象的toString()方法被調用。Java中所有的類都繼承自Object父類,所以,我們在類中只要重寫一下toString()方法就可以顯示出我們想要的資訊了。看下面的例子:public class OverrideToString { public String toString(){ return "Thi
wait和notify必須對同一對象操作才能夠起到作用。 代碼1:package waitnotify1;public class ThreadInstance implements Runnable{ public void run() { double d = 0; synchronized(this){ try { T