本帖最后由 student 于 2013-5-30 10:16 编辑
前天回答论坛上的一个问题时,发现一个问题:毕老师Java视频中提到的匿名内部类,是定义在外部类的方法中的。
但是非匿名内部类,却可以不用定义在外部类的方法中,想问一下:能否将匿名内部类定义在外部类中,而不需要定义
在外部类的方法中,就像定义非匿名内部类一样。
下面的代码,注释的部分是非匿名内部类的定义格式:- //抽象类
- abstract class AbsClass {
- // 抽象方法
- abstract void show();
- }
- //class Outer {
- //
- // // 内部类(非匿名内部类),继承抽象类AbsClass
- // class Inner extends AbsClass {
- // void show() {
- // System.out.println("Inner Class method");
- // }
- // }
- //
- // // 外部类方法
- // public void function() { }
- //}
- class Outer {
- // 外部类方法
- public void function() {
- // 匿名内部类
- new AbsClass() {
- void show() {
- System.out.println("Inner Class method");
- }
- }.show();
- }
- }
- //主函数
- public class InnerClass {
- public static void main(String[] args) {
- }
- }
复制代码 |