匿名內部類

2021-10-13 12:50:30 字數 425 閱讀 3347

今天看了一下匿名內部類,起初看不懂語法,後來才發現在之前的學習中已經接觸過匿名內部類了,當時在寫畫圖板的時候需要給滑鼠新增***,addmouselistener方法需要傳入乙個mouselistener介面的物件,但是我們知道介面不能直接建立物件,所以我們的做法是先建立乙個drawmouse類實現mouselistener介面,再傳入drawmouse類的物件。

而匿名內部類的作用就是省略建立子類的過程,從而讓**更加簡潔清晰(適合用於這個子類只使用一次的情況,即只需要建立乙個類的物件而用不到它的名字)

new 父類名/介面名()

上述**就是用父類的某個子類或實現過介面的某給子類建立物件,這個子類的名稱沒有被顯示定義,因此該子類是乙個匿名類。

匿名類的定義:已知父類或者介面的子類,該子類沒有具體的類名。匿名類的例項建立必須使用new 父類名|介面名 (){}來建立。

內部類,匿名內部類

內部類 概念 自己想到的 內部類是一種可以直接訪問外部類的一類事物 內部類訪問外部類中的成員,包括私有。之所以可以訪問外部類的成員,是因為內部類持有了外部類的乙個引用,格式為 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...