包及訪問控制權限
包的定義
在Java中使用package關鍵字來定義包,此語句必須寫在xxx.java文件的首行。
例:定義包
package com.study.Demo; //定義程序所在包,此語句必須放在首行
public class Hello {
public static void main(String args[]){
System.out.println("Hello World");
}
}
包的導入
例:定義一個類
package com.study.A;
public class Message {
public void print(){
System.out.println("666");
}
}
例:定義另一個類,這個類要使用先前定義的那個類
package com.study.test;
import com.study.A.Message; //導入所需要的類
public class TestMessage {
public static void main(String args[]){
Message msg=new Message(); //實例化對象
msg.print(); //調用方法
}
}
//結果
//666
例:導入一個包中的多個類
package com.study.test;
import com.study.A.*; //自動導入指定包中所需的類
public class TestMessage {
public static void main(String args[]){
Message msg=new Message();
msg.print();
}
}
如果使用不同的包中出現了同名類衝突的情況,必須在使用類時加上包名稱。
如:
com.study.test.Message msg=new com.study.A.Message();
系統常見包
訪問控制權限
對於上表可以簡單理解爲
private只能在一個類中訪問;
default只能在一個包中訪問;
protected在不同包的子類中訪問;
public爲所有都可以。
對於初學者,把握訪問權限以下兩個基本原則即可:
屬性聲明主要使用private聲明
方法聲明主要使用public聲明
例:
package com.study.A;
public class A {
protected String info="Hello"; //使用protected權限定義
}
package com.study.Demo;
import com.study.A.A;
public class B extends A { //是A不同包的類
public void print(){
System.out.println("A類的info="+super.info); //直接訪問父類中的protected屬性
}
}
package com.study.Demo;
import com.study.Demo.B;
public class Test {
public static void main(String args[]){
new B().print();
}
}
//結果
//A類的info=Hello
命名規範(雖然我也不是很注意)
類名稱:每一個單詞的開頭大寫,例如:TestDemo;
變量名稱:第一個單詞的首字母小寫,之後的每個單詞的首字母大寫,例如:studetName;
方法名稱:第一個單詞的首字母小寫,之後的每個單詞的首字母大寫,例如:printInfo();
常量名稱:每個字母大寫,例如:FLAG;
包名稱:所有字母小寫,例如:com.study