原创 Java學習總結之貪喫蛇項目程序編寫(一)

之前寫了程序分析,接下來進入程序編寫,這次寫程序跟之前的項目不一樣,之前是新增一個功能,就根據這個功能新增一部分內容,而這次有了程序分析,我打算即使還沒有加入新功能,也預留好新功能需要的各種屬性和方法,即使某個方法還沒有實現,也會在應該調

原创 Java學習總結之貪喫蛇項目程序分析

分析設計:通過學習聊天室項目和坦克大戰項目,我感覺已經初步掌握了一些面向對象的程序設計方法,所以在看這個項目的視頻之前,我自己先進行了一些設計。 大家應該都玩過貪喫蛇這個小遊戲,暫時呢,我覺得至少應該有三個類,一個是界面類,一個是蛇,還有

原创 Java學習總結之貪喫蛇項目程序編寫(完結)

接上篇 V0.4:從這個版本開始考慮喫的問題,補充:由於邊界被窗口上面那一行擋住了,所以我給程序動了一個小手術,加上了一個panel,但是隨之帶來了一個問題,用pack()設置大小的話窗口只是一條線,沒有辦法讓窗口剛剛好將Panel包住,

原创 Java學習總結之反射

反射,在基本的Java SE 中應用並不多,至少在剛剛學習的時候很少見到,但是隨着學習的逐步深入,特別是如果想要向 Java EE 發展,則反射是必須掌握的一個內容。 在這裏,我就不像書上那樣長篇大論前前後後方方面面都講清楚了,如果有遇到

原创 Java學習總結之貪吃蛇項目程序編寫(完結)

接上篇 V0.4:從這個版本開始考慮吃的問題,補充:由於邊界被窗口上面那一行擋住了,所以我給程序動了一個小手術,加上了一個panel,但是隨之帶來了一個問題,用pack()設置大小的話窗口只是一條線,沒有辦法讓窗口剛剛好將Panel包住,

原创 Java學習總結之坦克大戰項目(三)

V0.7:在這一個版本里主要處理邊界問題。 首先是炮彈,炮彈出界後就死亡。先判斷是否出界,這個只要通過比較炮彈的座標和邊界座標即可,比較可以再move中進行,也可以在draw中進行,因爲move本身就是在draw中調用,在我看來,差別不大

原创 Java學習總結之String特殊性

首先,用一句話來說,String的特殊性取決於它“不可變”。 特殊性之一:兩種創建實例的方法。String不屬於基本類型,每個String都是一個對象,所以一種創建實例的方法就是當做對象,String s = new String(“ab

原创 Java學習總結之線程

說到線程,學過操作系統的人應該會比較容易理解,並行的程序叫進程,而程序內部並行的部分就叫線程,或者說線程是程序內部同時進行的不同執行路徑。線程並不能獨享資源,而是多個線程共享同一個進程內部的資源,這樣的話,多個線程同時訪問同一個數據的時候

原创 Java學習總結之坦克大戰項目(二)

接上篇 V0.4:坦克類初步建好了,接下來考慮子彈,這裏我曾糾結子彈到底是坦克的內部類還是兄弟類。根據面向對象的分析,子彈打出後,無論坦克是否消亡,子彈都會存在,所以子彈不是坦克的內部類,所以我們新建一個子彈類Cannonball。 在這

原创 Java學習總結之修飾符

首先,是訪問控制符。包括public、protected、private和無(默認)。 private:可以修飾內部類和成員,表示只有類內部的成員可以訪問,類外部不可以訪問。修飾構造方法時表示該類既不能創建實例也不能被繼承。 無(默認):

原创 Java學習總結之坦克大戰項目(完結版)

接上篇 V1.0:在這個版本中呢,我們要讓敵方坦克動起來,不僅要移動,還要打出炮彈,怎麼實現呢?其實很簡單,在RobotTank類中添加一個隨機數產生器就ok了。用nextInt ( n ) 方法可以隨機產生一個n以內的整數。 添加一個方

原创 Java學習總結之貪吃蛇項目程序編寫(一)

之前寫了程序分析,接下來進入程序編寫,這次寫程序跟之前的項目不一樣,之前是新增一個功能,就根據這個功能新增一部分內容,而這次有了程序分析,我打算即使還沒有加入新功能,也預留好新功能需要的各種屬性和方法,即使某個方法還沒有實現,也會在應該調

原创 Java學習總結之Debug

博主之前的編程經驗很少,基本都是用輸出到控制檯來觀察程序的運行結果,從來都沒有用過debug工具,所以一直都覺得debug 好複雜,好高深,好高端,好難懂。。。總之就是不是我等新人可以接觸的東西。 然後呢,看了視頻才知道,debug或許有

原创 Java學習總結之異常處理

一開始學習時覺得異常處理這個詞好高端,應該是到很高級的程序猿,需要處理很底層的異常狀況時纔會用到,但是學習之後,特別是開始寫項目之後發現異常處理幾乎是程序中用的最多的語句了。 在介紹用法之前先介紹一下異常的體系結構。 java中的異常都在

原创 Java學習總結之IO

IO這部分內容很多,我不準備再挨個詳細說明。這裏主要記錄常用的方法和一些重點。 首先是一些基礎性的內容。IO主要靠流來實現,包括輸入流和輸出流。從功效上來分,有實體流和裝飾流。從字節數上來分有字節流和字符流。所以選擇使用什麼流時,需要多方