匿名內部類腦補

2021-07-25 19:00:39 字數 1068 閱讀 7482

一、概念

匿名內部類,就是沒有名字的內部類結構,因為其沒有類名,所以也沒有建構函式,初始化的時候使用的是構造塊

它的具體實現過程如下

new 父類構造器(引數列表)| 實現介面()    

(1)繼承抽象類的的實現方式

abstract class person 

public class demo

};p.eat();

}}

執行結果:

eat something

(2)繼承介面的實現方式

水電費

inte***ce person 

public class demo

};p.eat();

}}

執行結果:

eat something

public class demo }};

t.start();

}}執行結果:1 2 3 4 5

(1)使用時必須繼承乙個類或者實現乙個介面,只能是乙個。

(2)沒有類名,不能夠定義建構函式

(3)不能存在任何的靜態成員變數和靜態方法

(4)為區域性內部類,區域性內部類的限制對匿名同樣有效

(5)當方法的形參要在匿名內部類中使用時,該形參必須為final

為什麼要用final:因為雖然外部的引數看似傳進來了,但是實際上內部類中呼叫的是自己的屬性,而不是外部方法傳遞的引數

我們使用final來使這個應用不可改變。

內部類,匿名內部類

內部類 概念 自己想到的 內部類是一種可以直接訪問外部類的一類事物 內部類訪問外部類中的成員,包括私有。之所以可以訪問外部類的成員,是因為內部類持有了外部類的乙個引用,格式為 outer.this.x 外部類訪問內部類成員,需要宣告內部類的物件。其他類訪問內部類方法 當內部類處在成員變數的位置時,就...

內部類 匿名內部類

把類定義在其他類的內部,這個類就叫內部類。內部類分為 成員內部類 區域性內部類。內部類訪問特點 內部類可以直接訪問外部類的成員,包括私有。外部類訪問內部類的成員,必須建立物件。區域性內部類是定義在乙個方法或者乙個作用域裡面的類。public class outer 在區域性位置建立內部類物件,調內部...

內部類 匿名內部類

package org.lgy.study.innerclass public class anonymoustest public static void main string args public string getname public double getprice inte ce p...