Class中的getClasses与getDeclaredClasses方法作用于区别
Posted 进无止境
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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注解
以上是关于Class中的getClasses与getDeclaredClasses方法作用于区别的主要内容,如果未能解决你的问题,请参考以下文章
2.User.class与user.getClass()方法的区别?或者说class是什么属性呢?
2.User.class与user.getClass()方法的区别?或者说class是什么属性呢?
java中getClass( )和class()的联系和区别