(1) 預設存取等級且屬於不同套件~無法被繼承
(2) Final無法被繼承
(3) Interface函式都是public和abstract
(4) Interface函式不能是static
(5) Interface函式不能標註上final, strictfp, native
(6) 一個interface可以繼承多個其他interface
(7) Interface常數一定是public, final, static
(8) 預設和protected差不多
(9) 只有final修飾子可以用在區域變數
(10) Native就像抽象函式~以分號結尾
(11) 變數不能宣靠承strictfp
(12) Synchronized只用在函式
(13) strictfp只能用在類別跟函式
(14) native只能用在函式
(15) 介面不能實作介面
(16) Abstract函式須標示上abstract
(17) 介面可以extends介面
(18) PlayerPiece player= newPlayerPiece(); Object o =player; GameShpae shape = player; Animatable mover = player;
(19) 複寫函示可以拋出非可控異常(unchecked exception就是runtime exception)
(20) 複寫函示不可拋出新的可控異常~也不可以比原函示宣告的異常更廣
(21) 如果Dog implements Pet, Beagle extends Dog, Beagle IS-A Pet
(22) 實作interface的abstract函式要是public的或是預設
(23) 介面無法extends類別
(24) 介面無法implements介面
(25) Char相容於int
(26) 介面可做回傳型別
(27) 建構子不能回傳型別
(28) 抽象類別也有建構子
(29) 建構子永遠無法被繼承也不能複寫
(30) 建構子結束之前無法呼叫實體(非static)
(31) 建構子永遠不能呼叫super()又呼叫this()
(32) 建構子假如呼叫this()就不會呼叫super()
(33) 靜態函式不能存取非靜態(實體)變數
(34) 介面沒有建構子
(35) Static不能被覆寫~可是可以重新定義
(36) 抽象函式可以implements介面
(37) 超過陣列ArrayIndexOutOfBoundsException
(38) Null => NullPointerException
(39) Char可以放到int
(40) 介面可以做為參考型別
(41) 靜態區塊只能執行一次
(42) 實體區塊每建立一次執行一次
(43) 實體區塊是在建構子呼叫super()之後執行
(44) 在static裡出的錯誤ExceptionInitializerError
(45) 任何物件finalize()最多只能被資源回收器呼叫一次
(46) Object a = new int[3];
(47) 一些參考變數活在推疊內~另外一些活在推積內
(48) 執行finalize()時該物件就免除被GC的資格
(49) XOR在只有一個true才為true
(50) Switch接受char,short,int,long, 在java5內可用enum
(51) 所有非RuntimeException都被認為是可控式(checked)異常
(52) Java.lang.RuntimeException
(53) void xxx() throws IOException{}
(54) throw new IOException
(55) java.util.regex.Pattern
(56) java.util.regex.Matcher
(57) java.util.Scanner
(58) ??, 出現0或1
(59) *?, 出現0或多
(60) +?, 出現1或多
(61) 嘗試除以0 , ArithmeticException
(62) for(int x:y ) 不是 for(x : y)……….一定要定義
(63) ClassCastException , ExceptionInitializerError是由JVM拋出
(64) IllegalStateException通常被使用在回報環境的問題類似要去存取的資源已被關閉
(65) IllegalArgumentException通常由API拋出~當函式收到錯誤的引數時所拋出
(66) StringBuilder比較快~~~但沒有synchronized, StringBuffer有
(67) %[引數索引$][標記][寬度][.精確度]轉換字元
(68) 空白排在字元前~大寫字排在小寫字前
(69) 沒有<? Implements Xxxxx>
(70) Void foo(List<? extends Serializable> list)
(71) Public void addAnimal(List<? super Dog> animals)
(72) LinkedList有實作Queue所以有poll函式
(73) List是一個介面
(74) Map可以接受兩個型別參數
(75) Collections.reverseOrder 是 Comparator
(76) Collections.reverse(List<?> list) 是 void
(77) Vector是舊版的ArrayList, 並擁有synchronized, 比ArrayList還慢
(78) TreeSet保證沒有重複~且存取的時候就會自然排序
(79) 函式-區域內飲類別不能加上存取修飾子
(80) 內隱類別可以用存取修飾子
(81) 靜態巢狀類別對外部類別的非static成員無法存取
(82) Thead.sleep()的exception, InterruptedException
(83) TreeSet保證沒重複, 且存取的時候就會自然排序
(84) 函式-區域內隱類別不能加上存取修飾子
(85) 內隱類別可以使用存取修飾子
(86) 靜態巢狀類別對外部類別的非static成員無法存取
(87) 如果執行緒呼叫wait()卻沒有鎖, 將會拋出IllegalMonitorStateException
(88) Thread靜態函式sleep(), yield() 非靜態join(), start()
(89) 只有物件可以同步化~~變數不行
(90) 任何物件都可以同步化~~但不要把static根this混用
(91) 當鎖被釋放時~~等待的執行緒不會回到可執行狀態~除非發出通知
(92) notifyAll(), notify(), wait()~~必須在同步化程式理呼叫
(93) 當執行緒想要呼叫wait()而等待~~會釋放他的鎖
(94) 執行緒想要呼叫物件的wait()必須要擁有該物件的鎖
(95) notify()並不會讓執行緒釋放他的鎖~~執行緒只有在離開同步化程式才會釋放鎖
(96) notifyAll()會通知所有等待一個特定物件的執行緒~不是等待任一物件的執行緒
(97) sleep()函式必須包在try/catch裡面
(98) 當Thread物件的start()被第二次呼叫~會拋出IllegalThreadStateException
(99) 實體函式和靜態函式用的是不同的鎖~所以不會互相卡住
(100) 同步化函式在同一個實體被呼叫~會互相卡住
(101) 同一個類別的同步化靜態函式會互相卡住~不論用哪個實體呼叫這些函式
(102) 好的OO設計追求鬆散耦合而避開緊密耦合 loose coupling
(103) 好的OO設計追求高內聚力而避開低內聚力 high cohesive
(104) Coupling 耦合
(105) Cohesive 內聚力
(106) Comparable 實做 int compareTo()
(107) Comparator 實作 int compare();
(108) Interface的實作~~只能預設或是public~~~實作一定要是public
(109)
沒有留言:
發佈留言