Java四種內部類

2021-07-22 02:47:39 字數 1569 閱讀 3803

參考:

四種內部類:常規內部類、靜態內部類、區域性內部類、匿名內部類

1、常規內部類

常規內部類沒有用static修飾且定義在外部類類體中,常規內部類可以理解為類中普通的成員變數

(1)常規內部類可以訪問外部類的private成員變數和方法

(2)如果要訪問內部類,首先要例項化外部類outer,然後呼叫inner=outer.new inner()例項化內部類

public class outer

}}public

static

void

main(stirng args)

輸出:

hello

2、靜態內部類

使用static修飾的內部類稱為靜態內部類

(1)靜態內部類不能訪問外部類的非static成員,也不能用this關鍵字訪問外部類成員

(2)例項化靜態內部類可以直接用outer.inner inner=new outer.inner()進行例項化

public class outer

}}public

static

void

main(stirng args)

3、區域性內部類

在方法體或語句塊(包括方法、構造方法、區域性快活靜態chushihu8a快)內部定義的類稱為區域性內部類

(1)區域性內部類不能加任何訪問修飾符(private、protected、public等),也不可以用static修飾,但可以用final和abstract修飾

(2)區域性內部類對在方法體中有效,只能在方法體中例項化

(3)方法中的內部類可以訪問外部類成員,但是方法中的外部成員必須要有final修飾

(4)static方法中定義的內部類可以訪問外部定義的static成員

public

class outer

}return

new jubuclass(); //只能在這個方法中例項化這個內部類

}}public

static

void

main(string args)

輸出:finallocalvar:47 x:hello

4、匿名內部類

如果某個類的例項只是用一次,就可以將類的定義和類的建立放在一起,這就是匿名內部類

注:匿名內部類沒有名字,必須繼承乙個父類或者實現乙個介面,但是只能實現乙個介面,例項化的時候使用的是父類名或者介面名

如: new classorinte***cename()

classorinte***cename就是父類名或者介面名

public

class outer

}; //使用匿名內部類

}}public

static

void

main(string args)

java四種內部類詳解

一般來說,有4中內部類 常規內部類 靜態內部類 區域性內部類 匿名內部類。一.常規內部類 常規內部類沒有用static修飾且定義在在外部類類體中。1.常規內部類中的方法可以直接使用外部類的例項變數和例項方法。2.在常規內部類中可以直接用內部類建立物件 3.如下 public class myoute...

java四種內部類詳解

一般來說,有4中內部類 常規內部類 靜態內部類 區域性內部類 匿名內部類。一.常規內部類 常規內部類沒有用static修飾且定義在在外部類類體中。1.常規內部類中的方法可以直接使用外部類的例項變數和例項方法。2.在常規內部類中可以直接用內部類建立物件 3.如下 public class myoute...

Java 四種內部類例項

內部類 成員內部類 靜態內部類 區域性內部類和匿名內部類。package com.jiaoyinbrother.test 成員內部類可以呼叫外部類的所有成員,但只有在建立了外部類的物件後,才能呼叫外部的成員。public class outerclass public void display pu...