A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 王红潮 于 2012-9-10 10:54 编辑

接口里的默认添加的修饰符有两种,修饰变量的public staitc final,和public abstract用于修饰方法的。
interface inter{
      int x =10;
      void show();
}
上面前面会默认补齐修饰符,但当接口中定义了一个内部类,或者说是内部接口时,他们只能放在成员的位置,这时,系统默认添加的修饰符还依然是public static final吗?如果加了final,与后面的实现不是相冲突吗?而且接口如果要用static修饰符也没意义吧。
//接口中定义内部类
interface Inter1{
    class Inner1{
       void show1(){
         System.out.println("test");
      }
    }
   
    void function1();
}
//接口中定义内部接口
interface inter2{
    interface Inner2{
      void show2();
   }
  void function2();
}
//接口中定义内部抽象类
interface inter3{
    abstract class InnerFu{
     void test(){System.out.println("test...test");}
     abstract void show3();
    }
  void function3();
}
接口内部类和接口中的内部接口,系统默认添加的访问修饰符应该是什么,如果手动指定修饰符,应该指定什么修饰符?还有接口里面可以定义抽象类,那么系统默认添加的修饰符又是什么?

2 个回复

倒序浏览

接口里的默认添加的修饰符有两种,修饰变量的public staitc final,和public abstract用于修饰方法的。
interface inter{
      int x =10;
      void show();
}
上面前面会默认补齐修饰符,但当接口中定义了一个内部类,或者说是内部接口时,他们只能放在成员的位置,这时,系统默认添加的修饰符还依然是public static final吗?如果加了final,与后面的实现不是相冲突吗?而且接口如果要用static修饰符也没意义吧。
解答:系统默认条件的修饰符还是public static final!类前加final修饰符,那么此类不能被重写!
interface inter{
    class Inner{
       void show(){
         System.out.println("test");
      }
    }
}

interface inter2{
     interface inner{
       void method();
    }

   void show();
}

接口内部类和接口中的内部接口,系统默认添加的访问修饰符应该是什么,如果手动指定修饰符,应该指定什么修饰符?还有接口里面可以定义抽象类吗?
解答:接口内部类和接口中的内部接口,系统默认添加的修饰符是public static !

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马