@interface 求解~~~

解决方案 »

  1.   

    @ 这种 叫批注~~~  又来注释下面的方法或者类特殊之处~~
    如果类上加了这个@interface  说明下面的这个类应该是一个接口~~如果类中没有遵照接口的定义的话 编译器就会报错~~~
    批注这个东西感觉是用来规范代码避免一些人为的失误  ~
      

  2.   

    public @interface 这样写的呀,在创建类应该不是注解了吧
      

  3.   


    那直接写 public inteface不是一样吗?如果没写规范 eclipse也会报错呀
      

  4.   

    @interface是用来自定义JAVA Annotation的语法,
    @interface是用来自定义注释类型的注释类型的定义跟定义一个接口相似,我们需要在 interface这个关键字前面加上一个@符号,即@interface。注释中的每一个方法定义了这个注释类型的一个元素,注释中方法的声明中一定不能包含参数,也不能抛出异常;方法的返回值被限制为简单类型、String、Class、emnus、注释,和这些类型的数组。方法可以有一个缺省值。http://wutheringsea.iteye.com/blog/1045817
      

  5.   

    那可以试试 在子类的某个方法上加@Override这个 如果被继承父类中没有同样的方法 编译器就会报错·~但是 子类中把@Override去掉 相当于子类就用了2个方法
      

  6.   

    public @interface xxx 定义注解
    public interface xxx  定义接口
    这是两码事,完全不一样的,lz别被搞混了
      

  7.   

    public @interface xxx  定义注解
    public interface xxx   定义接口
    @interface和interface是完全不一样的,两码事
      

  8.   

    一开始我的理解错了
    你说的应该是 这种   public @interface XXX  这根本跟interface 不是同一个东西
    @interface 不是interface,是注解类 是jdk1.5之后加入的,java没有给它新的关键字,所以就用@interface 这么个东西表示了 
    这个注解类,就是定义一个可用的注解,包括这个注解用于什么地方,是类,还是方法,还是property,还是方法入参等等,还有这个注解是否编译后进入class 
    比如我们知道的用于javadoc的注解,是不进入class文件的。然后在后面你就可以用这个注解写代码了。总的来说,这就是一个生成javadoc时用到的注释类
      

  9.   


    是不是说我这样定义 public @interface interfaceTest{...}
    之后的可以这样用?@interfaceTest?
      

  10.   

    @interfaceTest(...)
    可能要加一些参数,这个就看lz怎么定义这个注解了
      

  11.   

    我现在对于注解的了解就只明白上面nizhicheng兄提到的@overwrite的那样@overwrite
    public valutype methodname(param){...}这样那这个@interfaceTest 会怎么工作呢?这个还是挺模糊的@interfaceTest
    public valutype methodname(param){...} 可以举例说一下吗?funfenffun兄给的那篇文章看得不太明白呀
      

  12.   

    @override,lz别写错
    lz是不是都没怎接触过java已经定义好的一些注解,没怎么用过自定义注解的话主要就3件事
    1.定义注解
      
      @Retention(RetentionPolicy.RUNTIME) 
      @Target(ElementType.METHOD) 
      public @interface Test { } 
      
      http://www.blogjava.net/livery/articles/203096.html
    2.加注解到方法上,也可能是类上,变量上
      
      public class Foo { 
        @Test public static void m1() { } 
        public static void m2() { } 
       
        @Test public static void m3() { 
           throw new RuntimeException("Boom"); 
        }     public static void m4() { }     @Test public static void m5() { }    public static void m6() { }     @Test public static void m7() { 
           throw new RuntimeException("Crash"); 
        }     public static void m8() { } 
      } 
      
    3.使用注解
      这就涉及到反射的东西,lz去查java反射机制的东西吧
      
      import java.lang.reflect.*; 
      public class RunTests { 
        public static void main(String[] args) throws Exception { 
          int passed = 0, failed = 0; 
            for (Method m : Class.forName(args[0]).getMethods()) { 
              if (m.isAnnotationPresent(Test.class)) { //if(方法有@Test注解)
                try { 
                  m.invoke(null); 
                  passed++; 
                } catch (Throwable ex) { //方法里抛出异常
                  System.out.printf("Test %s failed: %s %n", m, ex.getCause()); 
                failed++; 
                } 
              } 
         } 
         System.out.printf("Passed: %d, Failed %d%n", passed, failed); 
       } 
      } 
      lz要会写注解,会用反射调注解lz自己看资料吧,这个一时半会讲不清楚的