本帖最后由 张洪慊 于 2013-5-2 16:39 编辑
我是这样写的,以前还从没干过在接口中定义内部类- -!
在写的过程中对比了下 类中的内部类:
- interface Out
- {
- public abstract void func();
-
- class In{ //该内部类可以有static/abstract/abstract static修饰符
- //经过测试:内部类中含有静态方法,该接口中的内部类可以不是静态
- //这点和类中的内部类不相同
-
- static void method(ImpOut i){
- i.func();//ImpOut //访问在ImpOut中复写的func
- }
-
- }
- }
- class ImpOut implements Out{
- public void func(){
-
- System.out.println("ImpOut");
- }
- public static void main(String[] args){
-
- new Out.In().method(new ImpOut());//创建接口Out的内部类对象访问method
-
- Out.In.method(new ImpOut());//经过测试在接口中的内部类(非静态)中的静态成员还可以直接通
- //Out.In访问
- //这点在类中的内部类,只有内部类也是静态才可以
-
- }
- }
复制代码 |