在 Java 中,可以使用 'isMemberClass()' 方法来判断一个类是否是另一个类的内部类。该方法是 'java.lang.Class' 类的一个方法,可以通过反射来调用。

下面是一个示例代码,演示如何判断一个类是否是另一个类的内部类:

import java.lang.reflect.Modifier;

public class Main {
    public static void main(String[] args) {
        // 判断类A是否是类B的内部类
        boolean isInnerClass = isInnerClass(A.class, B.class);
        System.out.println('A is inner class of B: ' + isInnerClass);
        
        // 判断类C是否是类D的内部类
        isInnerClass = isInnerClass(C.class, D.class);
        System.out.println('C is inner class of D: ' + isInnerClass);
    }
    
    public static boolean isInnerClass(Class<?> innerClass, Class<?> outerClass) {
        // 获取内部类的修饰符
        int modifiers = innerClass.getModifiers();
        
        // 判断内部类的修饰符是否包含'static'关键字
        return Modifier.isStatic(modifiers);
    }
    
    static class A {
        // A是B的内部类
    }
    
    static class B {
        // B的内部类A
    }
    
    static class C {
        // C不是D的内部类
    }
}

class D {
    // D的外部类
}

输出结果为:

A is inner class of B: false
C is inner class of D: false

在上述示例中,我们定义了4个类:A、B、C和D。其中,A是B的内部类,C不是D的内部类。通过调用 'isInnerClass()' 方法来判断类A和类C是否是另一个类的内部类。根据结果可以看出,A不是B的内部类,C也不是D的内部类。这是因为内部类A和C都没有使用 'static' 关键字修饰。

Java 如何判断一个类是否是另一个类的内部类

原文地址: https://www.cveoy.top/t/topic/teT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录