Java 命名規則
Java是物件導向(Object-Oriented)程式語言
Java是由C++簡化來的。由於C++要和C完全相容,又很注重效能問題,因此C++算是很複雜的程式語言。
Java在設計之初,考量的重點之一就是簡單,因此和C++比起來,不僅更為物件導向,而且比C++容易學習。
Java許多運算符號和敘述語法都是來自C語言,假設各位已經對C語言有所了解,後面的部分只將Java和C在運算符號和敘述語法上的差異點分出來就較容易學習。
Java語言的寫作風格,優良的程式設計師一開始養成良好的寫作風格是很重要的。
寫作Java程式時,請注意下列幾種風格及命名規則:
1.Class Name 請首字大寫
第一個字元不可以為數字,可以是英文字母或底線 _ 或錢字號 $ ,命名長度沒有現制,但有大小寫之分,且不可使用關鍵字。
2.Variable Name(變數名稱)和Method Name(方法名稱) 請首字小寫
如果名稱由數個英文字組成,第二個英文字以後首字大寫例如: String studentName = "lucy"; 不可使用關鍵字。
如變數經由final修飾元宣告的變數及為常數,該變數的值就不能再作更改且命名已全部大寫英文字母,
常數有 static 的特性(類似類別變數)全域都可存取該常數。
3.寫作實內縮四個空格
4.註解部分如要變成說明文件,請遵照javadoc這個工具的寫作規則
5.識別子
宣告識別子必須遵照下列規則:
一. 第一個字 必須是文字或用_,$兩個符號。
二. 第二個字 起可以用文字,數字,或_,$兩個符號。
三. 不可與JAVA關鍵字相同。
四. 識別子的中英文的大小寫有別,但是沒有長度上限。
正確的識別子範例: TRUE,_test,I2j,$unitPrice `.
JAVA識別子的命名慣例:
套件(Package):以小寫文命名。
如:com.uuu.domain
類別(Class),介面(interface),和列舉型別(eunm) :應為名詞或名詞片語。
字母則為大寫英文字母開頭的混合模式
例如: SavingAccount
方法(Method):開頭應用動詞。字母使用混合模式而且第一各字母要小寫。並應限制底線( _ )的使用。
例如:getAccount
區域變數 : 區域變數的名稱宜簡短而有意義,可以適當使用縮寫。例: emp(表示employee)。
成員變數 : 第一各字母應小寫,變數名稱宜採用名詞或名詞片語,或名詞慣用縮寫。
可以用混合模式但要限制底線_跟$使用,否則可能會與巢狀類別發生混淆。如: currentCustomer `.
常數:建議使用全部大寫的英文字母,以底線斷詞。常數命名避免使用縮寫。
如; HEAD_COUNT
example : class AllTheColorsOfTheRainbow{}
method 、fields、 object reference 命名規則如上,唯一例外的是第一個字母小寫。
example: int anIntegetRepresentingColors;
JAVA的註解:
分為三種:
1.單行註解==> 撰寫在程式中單行註解(不會被程式執行單單只是讓程式員該注意的或是註明的用意)
寫法只需使用雙斜線 如==> //這裡是註解
2.多行註解 ==>在程式碼中如許多文字無法作單行註解時使用
寫法 ==> 開頭用/* 包住多行註解 結束用*/
例 ==>/* 這是第一行註解
這是第二行註解
這是第三行註解 */
3.文件註解==> 可以是多行註解~但須特別注意只能打在最上端到 main() 上這段區域
寫法開頭用/**...包住多行註解 結束用*/
建立文件註解時可以加入HTML語法去編寫,產生文件註解檔方法,使用如jdk1.6.0中的bin資料夾中
的javadoc.exe來完成。
JAVA的package與 import的使用:
1.什麼是package:
package(可稱為套件) 相當於程式檔案資料的目錄夾,package與類別檔(*class) 實際存放位置
息息相關,建立package套件時必須是在電腦環境變數中的ClassPath設定的路徑中的根目錄下,
這樣JAVA執行時才能夠找到該目錄下套件中的CLASS檔`。
且須特別注意命名package 一律使用小寫英文字母,並須宣告在程式中的第一行(除文件註解外)
宣告方式如下:(下方的名稱就是套件的名稱~類別名稱就是class的名稱)
package. 名稱 . 類別名稱 .*;(紅色星號代表其class中所有的資源)
2.什麼是 import:
即是要引用API中某個套件(package)時或式引入跟目錄下自己建立的套件(package)中的資料,
使用import來定義引入存取要使用的package下的class中資源,
宣告方式:
import 套件名稱 .*;(紅色星號代表其套件中所有class的資源)
例如: import java.util.*;
一個class中可以引入多個import , 但所有引入的import的陳述必須是位於package的陳述之下
合法的class , package , import的宣告順序如下
- package 套件名稱 ; ==>程式中第一行(除文件註解外)
- import 套件名稱 .*; ==>引入其他位置檔案(如自訂的package下的所有class中資源)
- import java.util.*; ==>引入java的API中提供的套件下資源
- class 名稱 ==>宣告class類別
JAVA中的 public ,private ,protect ,default
指的是class 或 class中的屬性(變數) ,方法的宣告存取權限
依照存取權限有分四個等級
存取修飾元 | 同一個class | 同一個package(套件) | 子類別 | 不同package(套件) |
---|---|---|---|---|
private | 可存取 | 不可存取 | 不可存取 | 不可存取 |
default | 可存取 | 可存取 | 不可存取 | 不可存取 |
protected | 可存取 | 可存取 | 可存取 | 可存取(需要有繼承關係下) |
public | 可存取 | 可存取 | 可存取 | 可存取 |
一般的外部class 的存取權限 使用的是public 或 default(內部類別
四個等級都可)
如沒撰寫 存取權限 例:
class Myclass{.......}
預設是default
使用存取權限時機如你的class中有不想被外界直接存取的屬性值(變數值)等~~
就可使 用封裝技巧 會將不想給外界直接存取的屬性值設成private或protected的存取權限
而再設定public 的getxxx()或setxxx() 方法來提供外界透過這兩個方法存取或修改屬性值
註:xxx指的是被設成private的變數~~這就是使用封裝技巧