隨筆->LearnJava->start
阿新 • • 發佈:2020-09-10
00
- 相關術語
- JDK(Java Development Kit ):編寫Java程式的程式設計師使用的軟體
- JRE(Java Runtime Environment):執行Java程式的使用者使用的軟體
- Server JRE (Java SE Runtime Environment):服務端使用的 Java 執行環境
- SDK(Software Development Kit):軟體開發工具包,在Java中用於描述1998年~2006年之間的JDK
- DAO(Data Access Object):資料訪問介面,資料訪問,顧名思義就是與資料庫打交道
- MVC(Model View Controller):模型(model)-檢視(view)-控制器(controller)的縮寫,一種軟體設計典範,用於組織程式碼用一種業務邏輯和資料顯示分離的方法
- 面向物件主要特徵
- 封裝性(encapsulation):封裝的目的在於把物件的設計者和物件的使用者分開,使用者不必知曉其行為實現的細節,只須用設計者提供的訊息來訪問該物件。
- 繼承性:它由類的派生功能體現。
- 多型性:物件根據所接收的訊息而做出動作。同一訊息被不同的物件接受時可產生完全不同的行動,這種現象稱為多型性。。例如:同樣是 run 方法,飛鳥呼叫時是飛,野獸呼叫時是奔跑。多型性的實現受到繼承性的支援,利用類繼承的層次關係,把具有通用功能的協議存放在類層次中儘可能高的地方,而將實現這一功能的不同方法置於較低層次,這樣,在這些低層次上生成的物件就能給通用訊息以不同的響應。在 OOPL 中可通過在派生類中重定義基類函式(定義為過載函式或虛擬函式)來實現多型性。
- Java 源程式與編譯型執行區別
- 命令列build & run
javac Hello.java
java Hello
基礎語法
- 命名規範
- project 名:全部小寫。
- package 名:所有字母小寫。
- class 名:那麼每個單詞的首字母應該大寫,例如
MyFirstJavaClass
。 - 變數/方法名:第一個單詞小寫,從第二個單詞開始首字母大寫。
- 常量名:所有字母大寫,每個單詞之間用
_
連線。 - 原始檔名:必須和類名相同。
- 主方法入口:由
public static void main(String[] args)
方法開始執行。 $
相當於C中的字母/下劃線
- 修飾符
- 訪問控制修飾符 : default, public , protected, private
- 非訪問控制修飾符 : final, abstract, static, synchronized
- 轉義字元
"\b" (退格)
"\f" (換頁)
"\n" (換行)
"\r" (回車)
"\t" (水平製表符(到下一個tab位置))
"\' " (單引號)
"\" " (雙引號)
"\\" (反斜槓)
- 新資料型別
- byte:
- 佔一個位元組
- 取值範圍為
1000 0000
到0111 1111
。即為-128
到127
。當我們使用byte b = 128
時,肯定會報錯。但是使用byte b = 127+1
,並不會報錯,而且運算的結果為-128。
- byte:
物件和類
- 建立物件
- 宣告:宣告一個物件,包括
物件名稱
和物件型別
。 - 例項化:使用關鍵字
new
來建立一個物件。 - 初始化:使用
new
建立物件時,會呼叫構造方法初始化物件。
- 宣告:宣告一個物件,包括
public class Puppy{
public Puppy(String name){
//這個構造器僅有一個引數:name
System.out.println("小狗的名字是 : " + name );
}
public static void main(String[] args){
// 下面的語句將建立一個Puppy物件
Puppy myPuppy = new Puppy( "tommy" );
}
}
- 訪問例項變數和方法
/* 例項化物件 */
Object referenceVariable = new Constructor();
/* 訪問類中的變數 */
referenceVariable.variableName;
/* 訪問類中的方法 */
referenceVariable.methodName();
public class Puppy{
int puppyAge;
public Puppy(String name){
// 這個構造器僅有一個引數:name
System.out.println("小狗的名字是 : " + name );
}
public void setAge( int age ){
puppyAge = age;
}
public int getAge( ){
System.out.println("小狗的年齡為 : " + puppyAge );
return puppyAge;
}
public static void main(String[] args){
/* 建立物件 */
Puppy myPuppy = new Puppy( "tommy" );
/* 通過方法來設定age */
myPuppy.setAge( 2 );
/* 呼叫另一個方法獲取age */
myPuppy.getAge( );
/*你也可以像下面這樣訪問成員變數 */
System.out.println("變數值 : " + myPuppy.puppyAge );
}
}
列舉
//列舉限制變數只能是預先設定好的值。使用列舉可以減少程式碼中的 bug。
//例如,我們為果汁店設計一個程式,它將限制果汁為小杯、中杯、大杯。
//這就意味著它不允許顧客點除了這三種尺寸外的果汁。
class FreshJuice {
enum FreshJuiceSize{ SMALL, MEDIUM , LARGE }
FreshJuiceSize size;
}
public class FreshJuiceTest {
public static void main(String[] args){
FreshJuice juice = new FreshJuice();
juice.size = FreshJuice.FreshJuiceSize.MEDIUM ;
}
}