標籤:android style blog class c code
什麼是Java當中的軟體包?
為什麼要使用軟體包?
如何給一個類打包?
//將類放置到一個包中,需要使用package“包名”//打包 編譯的方法 javac -d . Test.java//出現錯誤:編碼GBK的不可映射字元 javac -encoding UTF-8 -d . Test.java //-d 根據包名safiri組建檔案夾 .的意思是在目前的目錄下產生safiri檔案夾 //一個類的全名應該是“包名”+“.”+"類名" safiri.Test// 運行: java safiri.Test//包名的命名規範://1.要求報名所有的字母都要小寫//2.包名一般情況下,是你的網域名稱倒過來寫 com.sdau 則類的全名為com.sdau.Testpackage safiri;class Test{ public static void main(String args[]){ System.out.print("Hello package"); }}//1.軟體包為java類提供了命名空間//2.打包需要使用package指令//3.一個類的全名應該是“包名.”+"類名"
Java當中的存取權限:
public :公用許可權 跨包訪問使用類和類的成員時要加public(沒有限制,同一包中或者不同包中的類都可以自由訪問)
private:私人許可權 修飾的成員變數和函數只能在本類中使用,其他類不能使用(只能在本類當中使用)
default:包層級存取權限 在同一個包內的類可以互相訪問default許可權的類及其成員(不寫入權限修飾符就是default許可權,在同一個包中,可以自由訪問)
protected:受保護許可權 首先擁有和default一樣的功能,但是該許可權只能修飾成員變數和成員函數(其他3個還可以修飾類)想讓子類能夠用使用不同包當中父類的成員,用protected修飾父類的成員。
public >protected >default >private
軟體包的匯入
跨包使用類時要寫 包名+類名 ,包名比較長時會比較麻煩,所以有一個匯入機制:
import org.marsdroid.Person;
匯入後再使用這個類時,就不用寫包名了,直接寫類名就可以了。
存取權限與繼承
如果子類和父類不在同一個包中,子類可以繼承到父類當中的default許可權的成員變數和成員函數,但是由於許可權不夠,無法使用。
繼承後父類的成員能不能用,還要考慮成員的許可權