zoukankan      html  css  js  c++  java
  • Class中的getClasses与getDeclaredClasses方法作用于区别

    getClasses和getDeclaredClasses的区别:

    getClasses得到该类及其父类所有的public的内部类。

    getDeclaredClasses得到该类所有的内部类,除去父类的。

    public class SpiMain {
    
    
        private class SpiMainPrivate {
        }
    
        public class SpiMainPublic {
        }
    }
    
    
    public class Main extends SpiMain{
    
    
        private class MainPrivate {
        }
    
        public class MainPublic {
        }
    }
    
    运行如下代码:
     System.out.println(Arrays.toString(Main.class.getClasses()));
     System.out.println(Arrays.toString(Main.class.getDeclaredClasses()));
    

      

    输出:

    [class anno.Main$MainPublic, class com.javartisan.spi.SpiMain$SpiMainPublic]
    [class anno.Main$MainPrivate, class anno.Main$MainPublic]

    对于注解

    import java.lang.annotation.Inherited;
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    
    
    @Retention(RetentionPolicy.RUNTIME) 
    @Inherited
    public @interface Component {
    }
    
    
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    
    
    @Component
    @Retention(RetentionPolicy.RUNTIME)
    public @interface Service {
    }
    

      

    java.lang.Class#getDeclaredAnnotation方法可以获取Service注解之上的Comnponent注解

  • 相关阅读:
    Servlet梳理一
    String和StringBuffer的区别
    谈谈面对将要来到的第一份工作
    shell grep文本搜索
    Shell cut分割
    python的学习之路:计算
    web端和手机端测试有什么不同
    让TortoiseGit记住帐号密码方法
    操纵IE,模拟用户登录
    MVC路由配置.html不能识别
  • 原文地址:https://www.cnblogs.com/leodaxin/p/9594071.html
Copyright © 2011-2022 走看看