一個Java程序能夠認爲是一系列對象的集合,而這些對象經過調用彼此的方法來協同工做。下面簡要介紹下類、對象、方法和實例變量的概念。java
對象:對象是類的一個實例,有狀態和行爲。例如,一條狗是一個對象,它的狀態有:顏色、名字、品種;行爲有:搖尾巴、叫、吃等。數組
類:類是一個模板,它描述一類對象的行爲和狀態。函數
方法:方法就是行爲,一個類能夠有不少方法。邏輯運算、數據修改以及全部動做都是在方法中完成的。測試
實例變量:每一個對象都有獨特的實例變量,對象的狀態由這些實例變量的值決定。ui
編寫Java程序時,應注意如下幾點:this
大小寫敏感:Java是大小寫敏感的,這就意味着標識符Hello與hello是不一樣的。spa
類名:對於全部的類來講,類名的首字母應該大寫。若是類名由若干單詞組成,那麼每一個單詞的首字母應該大寫,例如 MyFirstJavaClass 。線程
方法名:全部的方法名都應該以小寫字母開頭。若是方法名含有若干單詞,則後面的每一個單詞首字母大寫。設計
源文件名:源文件名必須和類名相同。當保存文件的時候,你應該使用類名做爲文件名保存(切記Java是大小寫敏感的),文件名的後綴爲.java。(若是文件名和類名不相同則會致使編譯錯誤)。code
主方法入口:全部的Java 程序由public static void main(String []args)方法開始執行。
Java全部的組成部分都須要名字。類名、變量名以及方法名都被稱爲標識符。
關於Java標識符,有如下幾點須要注意:
全部的標識符都應該以字母(A-Z或者a-z),美圓符($)、或者下劃線(_)開始
首字符以後能夠是任何字符的組合
關鍵字不能用做標識符
標識符是大小寫敏感的
合法標識符舉例:age、$salary、_value、__1_value
非法標識符舉例:123abc、-salary
像其餘語言同樣,Java能夠使用修飾符來修飾類中方法和屬性。主要有兩類修飾符:
可訪問修飾符 : default, public , protected, private
不可訪問修飾符 : final, abstract, strictfp
在後面的章節中咱們會深刻討論Java修飾符。
Java中主要有以下幾種類型的變量
局部變量
類變量(靜態變量)
成員變量(非靜態變量)
數組是儲存在堆上的對象,能夠保存多個同類型變量。在後面的章節中,咱們將會學到如何聲明、構造以及初始化一個數組。
Java 5.0引入了枚舉,枚舉限制變量只能是預先設定好的值。使用枚舉能夠減小代碼中的bug。
例如,咱們爲果汁店設計一個程序,它將限制果汁爲小杯、中杯、大杯。這就意味着它不容許顧客點除了這三種尺寸外的果汁。
class FreshJuice { enum FreshJuiceSize{ SMALL, MEDUIM, LARGE } FreshJuiceSize size; } public class FreshJuiceTest { public static void main(String []args){ FreshJuice juice = new FreshJuice(); juice.size = FreshJuice. FreshJuiceSize.MEDUIM ; } }
注意:枚舉能夠單獨聲明或者聲明在類裏面。方法、變量、構造函數也能夠在枚舉中定義。
下面列出了Java保留字。這些保留字不能用於常量、變量、和任何標識符的名稱。
關鍵字 | 描述 |
---|---|
abstract | 抽象方法,抽象類的修飾符 |
assert | 斷言條件是否知足 |
boolean | 布爾數據類型 |
break | 跳出循環或者label代碼段 |
byte | 8-bit 有符號數據類型 |
case | switch語句的一個條件 |
catch | 和try搭配撲捉異常信息 |
char | 16-bit Unicode字符數據類型 |
class | 定義類 |
const | 未使用 |
continue | 不執行循環體剩餘部分 |
default | switch語句中的默認分支 |
do | 循環語句,循環體至少會執行一次 |
double | 64-bit雙精度浮點數 |
else | if條件不成立時執行的分支 |
enum | 枚舉類型 |
extends | 表示一個類是另外一個類的子類 |
final | 表示一個值在初始化以後就不能再改變了 表示方法不能被重寫,或者一個類不能有子類 |
finally | 爲了完成執行的代碼而設計的,主要是爲了程序的健壯性和完整性,不管有沒有異常發生都執行代碼。 |
float | 32-bit單精度浮點數 |
for | for循環語句 |
goto | 未使用 |
if | 條件語句 |
implements | 表示一個類實現了接口 |
import | 導入類 |
instanceof | 測試一個對象是不是某個類的實例 |
int | 32位整型數 |
interface | 接口,一種抽象的類型,僅有方法和常量的定義 |
long | 64位整型數 |
native | 表示方法用非java代碼實現 |
new | 分配新的類實例 |
package | 一系列相關類組成一個包 |
private | 表示私有字段,或者方法等,只能從類內部訪問 |
protected | 表示字段只能經過類或者其子類訪問 子類或者在同一個包內的其餘類 |
public | 表示共有屬性或者方法 |
return | 方法返回值 |
short | 16位數字 |
static | 表示在類級別定義,全部實例共享的 |
strictfp | 浮點數比較使用嚴格的規則 |
super | 表示基類 |
switch | 選擇語句 |
synchronized | 表示同一時間只能由一個線程訪問的代碼塊 |
this | 表示調用當前實例 或者調用另外一個構造函數 |
throw | 拋出異常 |
throws | 定義方法可能拋出的異常 |
transient | 修飾不要序列化的字段 |
try | 表示代碼塊要作異常處理或者和finally配合表示是否拋出異常都執行finally中的代碼 |
void | 標記方法不返回任何值 |
volatile | 標記字段可能會被多個線程同時訪問,而不作同步 |
while | while循環 |
相似於C/C++,Java也支持單行以及多行註釋。註釋中的字符將被Java編譯器忽略。
public class HelloWorld { /* 這是第一個Java程序 *它將打印Hello World * 這是一個多行註釋的示例 */ public static void main(String []args){ // 這是單行註釋的示例 /* 這個也是單行註釋的示例 */ System.out.println("Hello World"); } }
空白行,或者有註釋的的行,Java編譯器都會忽略掉。
在Java中,一個類能夠由其餘類派生。若是你要建立一個類,並且已經存在一個類具備你所須要的屬性或方法,那麼你能夠將新建立的類繼承該類。
利用繼承的方法,能夠重用已存在類的方法和屬性,而不用重寫這些代碼。被繼承的類稱爲超類(super class),派生類稱爲子類(subclass)。
在Java中,接口可理解爲對象間相互通訊的協議。接口在繼承中扮演着很重要的角色。
接口只定義派生要用到的方法,可是方法的具體實現徹底取決於派生類。