註釋,資料型別,結構型別,修飾符
註釋
分類:行註釋 // 多行註釋 /* */ 文件註釋 /** */
特點:在程式編譯時會被忽視,不會產生目的碼,註釋部分不會對程式的執行結果產生任何影響
注意:多行和文件註釋都不能巢狀使用
資料型別
一、基本資料型別
1.數值型
(1).整數型別
位元組型 關鍵字:byte 佔用記憶體:1位元組 作為成員變數的預設值:0
短整型 關鍵字:shout 佔用記憶體:2位元組 作為成員變數的預設值:0
整型 關鍵字:int 佔用記憶體:4位元組 作為成員變數的預設值:0
長整型 關鍵字:long 佔用記憶體:8位元組 作為成員變數的預設值:0L
(2).浮點型別
單精度浮點型 關鍵字:float 佔用記憶體:4位元組 作為成員變數的預設值:0.0F
雙精度浮點型 關鍵字:double 佔用記憶體:8位元組 作為成員變數的預設值:0.0D
(3).字元型 關鍵字:char 佔用記憶體:2位元組 作為成員變數的預設值:'\u0000'
(4).布林型 關鍵字:boolean 佔用記憶體:1位元組 作為成員變數的預設值:false
二、引用資料型別
1.類(class)
(1).主類
Java應用程式中 包含main()方法的類 不要求必為public類 從主執行緒啟動(也就是main()方法)
Java小程式中 繼承自系統類JApplat或Applet的子類 要求必為public類 沒有main()方法,主要是嵌在瀏覽器頁面上執行(呼叫init()執行緒或者run()來啟動) 嵌入瀏覽器與flash的小遊戲類似
(2).子類與父類關鍵字
this 是自身的一個物件 代表:物件本身 可以理解為:指向物件本身的一個指標
用法:
1.普通的直接引用,this相當於指向當前物件本身
2.形參與成員名字重名,用this來區分
3.引用本類的建構函式
this(引數):呼叫本類中另一種形式的建構函式(應該為建構函式中的第一條語句)
super 可以理解為:是指向自己超(父)類物件的一個指標 這個超類指的是離自己最近的一個父類
用法:
1.普通的直接引用,super相當於是指向當前物件的父類的引用
可以用super.xxx來引用父類的成員
2.子類的成員變數或方法與父類中的成員變數或方法同名時,用super進行區分
3.引用父類的建構函式
super(引數):呼叫父類中的某一個建構函式(應該為建構函式中的第一條語句)
this與super相似:
1.super()和this()均需放在構造方法內第一行
2.this和super不能同時出現在一個建構函式裡面
原因:this必然會呼叫其它的建構函式,其它的建構函式必然也會有super句的存在
在同一個建構函式裡面有相同的語句,就失去了語句的意義,編譯器也不會通過
特例:super作為父類、this作為子類的代指時可以同時現
3.this()和super()都指的是物件 均不可以在static環境中使用 包括:static變數,static方法,static語句塊
this與super區別:
1.super()在子類中呼叫父類的構造方法,this()在本類內呼叫本類的其它構造方法
this:它代表當前物件名(在程式中易產生二義性之處,應使用this來指明當前物件;如果函式的形參與類中的成員資料同名,這時需用this來指明成員變數名)
super:引用當前物件的直接父類中的成員(用來訪問直接父類中被隱藏的父類中成員資料或函式,基類與派生類中有相同成員定義時如:super.變數名/super成員函資料名(實參)
2.可以用this呼叫一個構造器,但不能呼叫兩個
3.從本質上講,this是一個指向本物件的指標,然而super是一個Java關鍵字
2.介面(interface)
3.陣列([])
結構型別
一、順序結構
二、選擇結構 關鍵字:switch(expr)
Java5之前,expr只能是byte、shout、char、int
Java5開始,Java中引入列舉型別(expr可以是enum型別)
Java7開始,expr可以是字串(String),long在所有版本中暫時不可以使用
三、迴圈結構
1.流程控制語句
(1).break
(2).continue
(3).return
(4).跳出多層迴圈
在外面的迴圈語句前定義一個標號,然後在裡層迴圈體的程式碼中使用帶有標號的break語句,即可跳出外層迴圈(類似C語言中goto語句)
ok:
break ok;
修飾符
一、訪問修飾符
1.private 在同一類內可見 使用物件:變數、方法 注意:不能修飾類(外部類)
2.default 預設,不使用任何關鍵字 在同一包內可見 使用物件:類、介面、變數、方法
3.protected 對同一包內的類和所有子類可見 使用物件:變數、方法 注意:不能修飾類(外部類)
4.public 對所有類可見 使用物件:類、介面、變數、方法
二、非訪問修飾符
1.final 使用物件:類、屬性、方法
類:不可被繼承
方法:不可被重寫
變數:不可以被改變
被其修飾不可變的是變數的引用,而不是引用指向的內容,引用指向的內容是可以被改變的
2.static 使用物件:成員變數、成員方法、程式碼塊、類(靜態內部類)、導包
(1).注意:
靜態只能訪問靜態
非靜態既可以訪問非靜態,也可以訪問靜態
(2).意義:
建立獨立於具體物件的域變數或方法
沒有建立物件也能使用屬性和呼叫方法
優化程式效能
只會在類載入的時候執行一次