比如:@Retention(RUNTIME)
@Target(METHOD)
@interface MethodProcess {
    boolean display() default true;
    
    //Value value();//这样定义的注解编译失败
}class Value{
}

解决方案 »

  1.   

    基于注解嘛,编译时候要扫描胜成对应文件的。如果类型自定义,编译的时候你就可以想象多费劲了,或者给提供一些借口;
    但是,基本类型,还有人家提供的Model够用了,所以没必要麻烦了吧。
      

  2.   

    自己思考了下,感觉还是编译器不愿意做那个功能而已。实际上如果支持了,自定义的注解的处理、拦截,还是用户自己设计逻辑的,应该不会给编译器带来多大麻烦事儿。(只要支持注解的方式:@MyOne(Type1=new Type1())  这种语法。)
      

  3.   

    自己思考了下,感觉还是编译器不愿意做那个功能而已。实际上如果支持了,自定义的注解的处理、拦截,还是用户自己设计逻辑的,应该不会给编译器带来多大麻烦事儿。(只要支持注解的方式:@MyOne(Type1=new Type1())  这种语法。)
    在技术方面方面确实是这么回事,我的理解是  注解这种框架  首先呢他是一种框架,站在这个角度分析,框架的目的是增加通用性、简易的目的。如:JQ对JS进一步封装,屏蔽了琐碎的一些操作;Hibernate的JDBC,也失去了一些性能上的代码;Flex提供的组件开发,同样失去了灵活性。  这些给我的感觉是,框架不去做细,而是通用性能够满足,太细则繁琐。大多数的框架口号是,让我们把精力放到业务上面,实现给我们封装好; 
    所以:我自己给找个理由,当然不一定对,仅为讨论。  框架处理在细节上,能省则省。
      

  4.   

    自己思考了下,感觉还是编译器不愿意做那个功能而已。实际上如果支持了,自定义的注解的处理、拦截,还是用户自己设计逻辑的,应该不会给编译器带来多大麻烦事儿。(只要支持注解的方式:@MyOne(Type1=new Type1())  这种语法。)
    在技术方面方面确实是这么回事,我的理解是  注解这种框架  首先呢他是一种框架,站在这个角度分析,框架的目的是增加通用性、简易的目的。如:JQ对JS进一步封装,屏蔽了琐碎的一些操作;Hibernate的JDBC,也失去了一些性能上的代码;Flex提供的组件开发,同样失去了灵活性。  这些给我的感觉是,框架不去做细,而是通用性能够满足,太细则繁琐。大多数的框架口号是,让我们把精力放到业务上面,实现给我们封装好; 
    所以:我自己给找个理由,当然不一定对,仅为讨论。  框架处理在细节上,能省则省。
    讲的有一定道理。
    这个东西就像switch一开始不支持String,后来又支持了。还是要看市场需求。
    暂且这么理解吧!
      

  5.   

    不单单要求类型,还必须是 compile time constant,应该是反射机制需要这样。enum 也可以。
    public class A {
      
      public static final String s = "a";
    }public class B {
      
      public static final String s = method();
      
      static String method() {
        
        return "b";
      }
    }
    A.a 可以,B.b 不行。
      

  6.   


    打错字了,A.s 可以, B.s 不行。换个说法就是:编译器可以“in line”的才可以。
      

  7.   

    @Override
    public List    这个算不
      

  8.   

    也就是说不用new就能创建的东西呗
      

  9.   

    任何情况下底层都是用new来实现类对象的实例化的,只是有些框架把对象实例化给封装起来了。
      

  10.   

    任何情况下底层都是用new来实现类对象的实例化的,只是有些框架把对象实例化给封装起来了。能不能别不懂装懂   咱说的是一个事儿吗?
      

  11.   

    因为它已经限制死了,只能是八种基本数据类型加上String,Enum,Class,annotations这四种,别的都不支持的。