關於內部類的分類和使用

2021-09-25 14:52:08 字數 1297 閱讀 8661

關於內部類的分類和使用

內部類主要分為成員內部類(非靜態內部類,靜態內部類),匿名內部類,區域性內部類

(a)非靜態內部類:

1:非靜態內部類必須寄存在乙個外部類物件裡

2:非靜態內部類可以直接訪問外部類的成員,但是外部類不能直接訪問非靜態內部類成員(可以間接訪問)(**展示)

3:非靜態內部類不能有靜態方法,靜態屬性和靜態初始化塊

4:外部類的靜態方法,靜態**塊不能訪問非靜態內部類,包括不能使用非靜態內部類定義變數,建立例項

成員變數訪問的要點:

1,內部類裡方法的區域性變數:變數名

2,內部類屬性:this.變數名

3,外部類屬性:外部類名.this.變數名

package cn.com.qq;

public class tsetinnerclass

}class outer

class inner

}}

(b)靜態內部類:

1,當乙個靜態內部類物件存在時,並不一定存在對應的外部類物件。所以,靜態內部類的例項方法不能直接訪問外部類的例項方法

2,靜態內部類可以看作是乙個外部類的乙個靜態成員方法。所以,外部類的方法中可以通過:靜態內部類.名字的方式來訪問靜態內部類的成員變數,通過new靜態內部類()訪問靜態內部類的例項

package cn.com.qq;

public class teststaticinnerclass

}class outer2

//相當於外部類的乙個靜態成員

static class inner2

}}

(c)匿名內部類:

適合只需要使用一次的類

1,匿名內部類沒有訪問修飾符

2,匿名內部類沒有構造方法

package cn.com.qq;

public class testanonymousinnerclass

public static void main(string args)

});}

}inte***ce aa

(c)區域性內部類:

定義在方法內部的類,作用域只限於本方法

package cn.com.qq;

public class testapartinnerclass

}new inner().fun();

}public static void main(string args)

}

內部類的分類以及使用

內部類的分類 內部類的定義 定義在乙個類的內部的類就是內部類。就像是定義類一樣,類內部的變數有區域性變數和成員變數,在類中方法外的變數為成員變數,在方法重點的變數是區域性變數。所以內部類也分為 成員內部類 和 區域性內部類。內部類的特別之處 可以用static 修飾類。內部類可以隨意訪問外部類的成員...

內部類的分類

靜態內部類,非靜態內部類 非靜態內部類 public class inclass class outer class inner 要點 1.非靜態的內部類必須寄存在乙個外部類的物件裡,因此,如果有乙個非靜態內部類物件那麼一定存在乙個對應的外部類物件,非靜態內部類物件單獨屬於外部類的某個物件 2.非靜...

內部類的分類

成員內部類 區域性內部類 靜態內部類 匿名內部類 內部類可以直接訪問外部類的變數,方法,包括私有。外部類要訪問內部類的變數或者方法需要建立內部類的物件。成員內部類 內部類的位置處在外部類的成員變數的位置。class outter 內部類的例項化 外部類名.內部類名 物件名 new 外部類名.new ...