封裝,訪問修飾符,this關鍵字,內部類

一,面向對象三大特性:封裝,繼承,多態
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.屬性名

------靜態內部類

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章