Java學習筆記 內部類

2021-09-14 07:45:19 字數 2180 閱讀 4586

內部類在android中有著大量的運用

內部類提供了更好的封裝;內部類可以直接訪問外部類的私有資料;匿名內部類適合那些只需要使用一次的類。非靜態內部類不能擁有靜態成員。內部模擬外部類可以多使用三個修飾符:private、protected、static

將乙個類定義在另乙個類的裡面,對裡面那個類就稱為內部類(內建類,巢狀類)

訪問特點:

內部類定義在成員位置上

內部類定義在區域性位置上

class

outer

}}

class

outer

}}

class

out}

}···

out.in in =

newout()

.newin(

"test");

//等價於

out.in in;

out out =

newout()

;in = out.

newin

("test");

···

public

class

subclass

extends

out.in

}

在外部類以外使用靜態內部類
class

staticout}}

···staticout.staticin in =

newstaticout.staticin()

;//等價於

staticout.staticin in;

in =

newstaticout.staticin()

;

class

outer

}new

inner()

.function()

;}}class

test

}

就是內部類的簡化寫法

前提:

格式為:

簡單理解:

匿名內部類其實就是內部類的簡寫格式

定義匿名內部類的前提:內部類必須是繼承乙個類或者實現介面

匿名內部類的格式:new 父類或者介面()其實匿名內部類就是乙個匿名子類物件。可以理解為帶內容的物件

匿名內部類中定義的方法最好不要超過3個

abstract

class

absdemo

class

outer

void

abc()}

.show()

;}}class

test

}

匿名內部類的應用

inte***ce

inter

class

test

} */

static inter function()

};}}

class

innerclasstest})

;}public

static

void

show

(inter in)

}

沒有父類及介面如何使用匿名內部類

class

innertest}.

function()

;}}

new 實現介面(

)| 父類構造器(實參列表)

inte***ce product

public class anonymoustest

public static void main(string args)

public string getname()

});}}

class

anonymousproduct

implements

product

public string getname()

}ta.test (

newanonymousproduct()

);

Java內部類學習筆記

size x large b 內部類概念 b size 所謂內部類 inner class 顧名思義,就是將乙個類定義在定義在另乙個類的內部。內部的類稱之為內部類 public class outer b 特點 b list 內部類可以很好的實現隱藏,可以使用protected private修飾符...

JAVA學習筆記10 內部類 匿名內部類

內部類 內部類可以直接訪問外部類成員 包括私有成員 外部類要訪問內部類中的成員必須要建立內部類的物件 class outer public void method 內部類一般用於類的設計 分析事物時 發現該事物描述中還有事物 而且這個事物還在訪問被描述事物的內容 這時就可以將還有的事物用內部類來描述...

內部類之Java學習筆記

建立內部類 可以將乙個類的定義放在另乙個類的內部,這就是內部類。如下所示 迭代器介面 inte ce selector 使用迭代器現實陣列的遍歷 public class sequence public void add object x 定義私有的內部類 private class sequenc...