作家
登录

Java反射机制应用实践

作者: 来源: 2017-05-18 08:56:25 阅读 我要评论

  •     public void after() { 
  •         ... 
  •     } 
  •  
  • 而我们客户端的代码只须要改成simpleProxy.bind(new Salary(), new ControlAdvie)就行了,而SimpleProxy本身不须要做任何的修改。

    1. import java.lang.annotation.* 
    2.  
    3. @Target(ElementType.METHOD) 
    4. @Retention(RetentionPolicy.RUNTIME) 
    5. public @interface UserCase { 
    6.     public int id(); 
    7.     public String description() default "no description"
    8.  

    下面是我们检测暗码的对象类的实现:

    1. public class PasswordUtils { 
    2.     @UserCase(id=47, description="Password must contain at least one numeric"
    3.     public boolean validatePassword(String password) { 
    4.         return (password.matches("\\w*\\d\\w*")); 
    5.     } 
    6.  
    7.     @UserCase(id=48) 
    8.     public String encryptPassword(String password) { 
    9.         return new StringBuilder(password).reverse().toString(); 
    10.     } 
    11.  
    12.     @UserCase(id=49, description="New passwords can't equal previously used ones"
    13.     public boolean checkForNewPassword(List<String> prevPasswords, String password) { 
    14.         return !prevPasswords.contains(password); 
    15.     } 
    16.  

    应用反射我们可以写出加倍清楚的测试代码,个中getDeclaredMethods()办法可以获取相干对象本身声明的相干办法,而getAnnotation()则可以获取Method对象的指定注解。

    1. public class UseCaseTracker { 
    2.     public static void trackUseCases(List<Integer> useCases, Class<?> cl) { 
    3.         for(Method m : cl.getDeclaredMethods()) { 
    4.             UseCase uc = m.getAnnotation(UseCase.class); 
    5.             if(uc != null

        推荐阅读

        Linux性能分析工具汇总合集

      常见用法: netstat &ndash;npl 可以查看你要打开的端口是否已经打开。 netstat &ndash;rn 打印路由表信息。 netstat &ndash;in 供给体系上的接口信息,打印每个接口的MTU,输入分>>>详细阅读


      本文标题:Java反射机制应用实践

      地址:http://www.17bianji.com/lsqh/35285.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)