這一章節我們來討論一下匿名內部類。
我們之前已經提到了內部類,如下:
package com.ray.ch03;
public class test
} private mytest mytest()
public static void main(string args)
}inte***ce mytest
上面的內部類看上去沒什麼問題,但是很多時候我只需要它來輔助,其他地方基本用不上,因此,我們可以簡化一下,變成匿名內部類,只是用來輔助方法的。
注意:匿名內部類的實現需要介面或者抽象類來配合
我們將上面的**修改一下,變成下面的例子:
package com.ray.ch03;
public class test
};} public static void main(string args)
}inte***ce mytest
筆者總結了幾個注意點:
1.只能在繼承或者實現介面裡面選乙個,不可兩者兼備
2.不能夠定義建構函式
3.不能使用static
4.不能是抽象的
package com.ray.ch03;
public class test //error
// private static int id=1;//error
@override
public void test()
};} public static void main(string args)
}inte***ce mytest
class mytest2
總結:這一章節我們簡單講述了一下匿名內部類。
這一章節就到這裡,謝謝。目錄
JAVA匿名內部類
abstract class base public abstract void f public class anonymousconstructor public void f public static void main string args 在此例中,不要求變數i 一定是final 的。...
Java 匿名內部類
內部類定義在區域性時,1,不可以被成員修飾符修飾 2,可以直接訪問外部類中的成員,因為還持有外部類中的引用。但是不可以訪問它所在的區域性中的變數。只能訪問被final修飾的區域性變數。非靜態,沒物件,不執行 class outer new inner function class innerclas...
java匿名內部類
匿名內部類 匿名內部類 1 匿名內部類即沒有名字的內部類 2 正因為沒有名字,所以匿名內部類只能使用一次,它通常用來簡化 編寫 3 但使用匿名內部類還有個前提條件 必須繼承乙個父類或實現乙個介面 示例1 不使用匿名內部類來實現抽象方法 abstract class people class chil...