JavaSE之包,許可權修飾符,內部類
阿新 • • 發佈:2018-11-17
包的概述
1,什麼是包?
Java中的包,就相當於電腦中的資料夾。
2,包的宣告格式
package 包名. 包名. 包名. .;
如:package cn.sxflow.test;
3,包與包之間的互相訪問
導包的格式,import 包名.類名
例如:
package cn.sxflow.test02;
//被匯入的包
public class Test02 {
public void show() {
System.out.println("我是被匯入的包中的一個類");
}
}
package cn.sxflow.test01; //將包匯入 import cn.sxflow.test02.Test02; public class Testo1 { public static void main(String[] args) { Test02 test = new Test02(); test.show(); } }
許可權修飾符概述
Java中提供了四種訪問許可權,public,protected,
default,private
其中:
public 的範圍最大,所有的包,所有的類都可以訪問;注意:一個檔案中只允許有一個public修飾的類
protected 本包中的任意類和本包在其他包中的子類均可以訪問;
default ,預設修飾符,在本包範圍內可以隨便訪問;
private的範圍最小,唯有本類可以訪問;值得注意的是,如果一個類的構造方法被private修飾,這個類將不可以創造物件。
內部類
1,什麼是內部類?
將類寫在其他類的內部,如成員位置,區域性變數位置等。
2,內部類的使用情況
描述一個物件的時候,這個事物內部還包含其他的事物。
如:
class Person{//外部類 class School{//內部類 } }
3,成員內部類
定義在外部類中的成員位置。
訪問方式: 外部類名.內部類名 變數名 = new 外部類名().new 內部類名();
4,區域性內部類
定義在外部類方法中的區域性位置,與訪問方法中的的區域性變數相似,可通過呼叫方法進行訪問。如:
public class Test01 { public static void main(String[] args) { Person p = new Person(); p.test(); } } class Person {// 外部類 public void test() { System.out.println("展示學校前"); class School {// 內部類 void show() { System.out.println("這是我的學校,大同大學"); } } School school = new School(); school.show(); System.out.println("展示學校後"); } }
5,匿名內部類
建立每個型別子類物件的快捷方式,一般用於只使用一次的類;
格式:new 父類或者介面名(){ //對父類方法進行重寫};
舉例:
//介面
interface Person{
void show();
}
public class Test01 {
public static void main(String[] args) {
Person person = new Person(){
@Override
//匿名內部類
public void show() {
System.out.println("這是我的學校,山西大同大學!");
}
};
person.show();
}
}