一,面向對象三大特性:封裝,繼承,多態
1.封裝:將類的某些信息隱藏在類內部,不允許外部程序直接訪問,而是通過該類提供的方法來實現對隱藏信息的操作和訪問。
好處:a.只能通過規定的方法訪問數據
b.隱藏類的實例細節,方便修改和實現
二,訪問修飾符
三,this關鍵字 :this關鍵字表示當前屬性
this.屬性:操作當前對象的屬性
this.方法名:調用當前對象的方法
四,內部類
問:什麼是內部類呢?
答:內部類( Inner Class )就是定義在另外一個類裏面的類。與之對應,包含內部類的類被稱爲外部類。
問:那爲什麼要將一個類定義在另一個類裏面呢?
答:內部類的主要作用如下:
1. 內部類提供了更好的封裝,可以把內部類隱藏在外部類之內,不允許同一個包中的其他類訪問該類
2. 內部類的方法可以直接訪問外部類的所有數據,包括私有的數據
3. 內部類所實現的功能使用外部類同樣可以實現,只是有時使用內部類更方便
問:內部類有幾種呢?
答:內部類可分爲以下幾種:
- 成員內部類
- 靜態內部類
- 方法內部類
- 匿名內部類
列子如下:
//外部類HelloWorld
public class HelloWorld {
// 內部類Inner,類Inner在類HelloWorld的內部
public class Inner {
// 內部類的方法
public void show() {
System.out.println("welcome to imooc!");
}
}
public static void main(String[] args) {
// 創建外部類對象
HelloWorld hello = new HelloWorld();
// 創建內部類對象
Inner i = hello.new Inner();
// 調用內部類對象的方法
i.show();
}
}
------成員內部類(一般內部類)
1、 外部類是不能直接使用內部類的成員和方法
2、 如果外部類和內部類具有相同的成員變量或方法,內部類默認訪問自己的成員變量或方法,如果要訪問外部類的成員變量,可以使用 this 關鍵字。如:外部類名.this.屬性名
------靜態內部類