简而言之,我正试图做“classObject.getDeclaredClasses()
”的倒数。
我有一个接收Class<? extends Object>
类型对象的方法。我想弄清楚它是否是一个内部类,如果是,我想访问周围的类'对象实例。
是否有智能API,或者我是否被迫进行字符串操作和解析?
答案 0 :(得分:20)
您正在寻找Class.getDeclaringClass()
方法:
public class getDeclaringClass()
如果此Class对象表示的类或接口是其成员 另一个类,返回表示它所在的类的Class对象 被宣布。如果此类或接口不是a,则此方法返回null 任何其他类的成员。如果此Class对象表示数组类, 如果是原始类型或void,则此方法返回null。
返回:此类的声明类
答案 1 :(得分:1)
从内部类代码引用外层实例
如果内部类代码需要引用它附加到的外部类实例,请使用外部类的名称,一个点,以及
* remember that if there is no name conflict, there is no need for any special syntax
* for code in MyInner to obtain a reference to its MyOuter:
MyOuter.this
静态内部类
内部类可以标记为静态
我实例化的静态内部类没有外部类的实例
* static members of the outer class are visible to the inner class, no matter what their access level
* non-static members of the outer class are not available, since there is not instance of the outer class to retrieve them from