鼻涕的JAVA 1.5考試重點2

(1) 預設存取等級且屬於不同套件~無法被繼承

(2) Final無法被繼承

(3) Interface函式都是publicabstract

(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) 實作interfaceabstract函式要是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) ??, 出現01

(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) 任何物件都可以同步化~~但不要把staticthis混用

(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)

沒有留言: