1. 程式人生 > 其它 >註釋,資料型別,結構型別,修飾符

註釋,資料型別,結構型別,修飾符

註釋

分類:行註釋  //    多行註釋   /*  */    文件註釋  /**  */

特點:在程式編譯時會被忽視,不會產生目的碼,註釋部分不會對程式的執行結果產生任何影響

注意:多行和文件註釋都不能巢狀使用

資料型別

一、基本資料型別

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).意義:

建立獨立於具體物件的域變數或方法

  沒有建立物件也能使用屬性和呼叫方法

優化程式效能

  只會在類載入的時候執行一次