交通燈系統
1)
物件導向的重要經驗:
誰擁有資料,誰就提供對外運算元據的方法
。2)
executors
類:多執行緒併發。
executors
類的靜態方法
newsinglethreadexecutor()
返回executorservice
的乙個物件,該物件等價於
threadpool.
如何使用
executors:
1.
executorservice pool = executors.newsinglethreadexecutor();
pool.execute(new runnable()
}execute(command)
方法括號中表示的是要執行的任務,可接收乙個執行緒物件
,表示執行該執行緒。
2.
scheduledexecutorservice timer=executors.newscheduledthreadpool(1);//
建立乙個執行緒排程池
timer.scheduleatfixedrate(new runnable(){},
initialplay,//過多久開始做
period,//再過多久接著做
unit//時間單位
(timeunit.second)
)timer
是乙個排程控制器。
3)
列舉類有個靜態方法
valueof(string s),
返回和字串
s一樣的列舉物件。如:
lamp.valueof(「n2s」)
返回的就是
n2s。
4)
road.this.name:
表示內部類用到外部類同名的變數。
5)
交通燈系統小結:在面對乙個專案時,需求分析一定得把握準。在此基礎上進行物件導向設計和邏輯設計,設計時一定得考慮周全,這樣在寫**才會事半功倍。例如:在這個專案中,首先得分析出需要哪些物件,如,燈,道路,燈控制器,然後編寫相應的類。再者,根據邏輯,編寫出各類之間的相互關係的具體**。在所有**都編寫完後,才去測試。
6)
銀行系統邏輯設計小結:首先建立乙個號碼管理類(
numbermanager
),類中有個集合成員變數和號碼成員變數,用來管理號碼,還有兩個方法,建立號碼和機器叫號碼的方法;然後建立乙個號碼產生機器類
(numbermachine)
,將號碼管理類物件作為其成員變數,又因為只需要乙個機器,所以用單例設計模式來設計這個類。然後,建立乙個服務視窗類,可根據客戶的型別來決定到底由哪種視窗來為其服務。最後,建立乙個測試類,在該類裡面利用多執行緒來模擬不同客戶來銀行辦理業務,然後建立服務視窗類物件,啟動多執行緒視窗服務,測試程式。一句話:非同步建立各種客戶來銀行辦理業務
à根據客戶型別從號碼機器中的對應出口獲取號碼-à
服務視窗叫號對客戶服務。
黑馬程式設計師 Java 學習筆記
filewriter 建立乙個filewriter物件,該物件一被初始化就必須明確被操作的檔案,而且該檔案會被建立到指定的目錄下。如果該目錄下已有同名檔案,將被覆蓋。下面的例子是將客戶端的檔案拷貝到伺服器上 客戶端 socket s newsocket 1.1.1.1 10000 定義客戶端的套接字...
黑馬程式設計師之java學習筆記10
1.arraylist,hashset,hashmap底層都是用陣列來實現的。2.properties類 是hashtable的乙個子類,hashmap的用法一樣,其中主要方法是getproperty public string getproperty string key 例項 propertie...
黑馬程式設計師 java學習筆記 介面
介面 inte ce 初期理解,可以認為是乙個特殊的抽象類 當抽象類中的方法都是抽象的,那麼該類可以通過介面的形式來表示 class用於定義類 inte ce用於定義介面 介面定義時,格式特點 1介面中常見定義 常量 抽象方法。2介面中的成員都有固定修飾符。常量 public static fina...