Java发送instanceof作为参数

Java发送instanceof作为参数,java,parameters,instance,instanceof,Java,Parameters,Instance,Instanceof,这可能是个愚蠢的问题,但我必须知道是否有办法将对象的实例发送到方法 像这样: public class TestClass { public TestClass() { //Initialize } } public class AnotherClass { Instance!? mInstance; public AnotherClass(Inst

这可能是个愚蠢的问题,但我必须知道是否有办法将对象的实例发送到方法

像这样:

    public class TestClass
    {
        public TestClass()
        {
            //Initialize
        }
    }

    public class AnotherClass
    {
        Instance!? mInstance;

        public AnotherClass(Instance!? instance)
        {
            mInstance = instance;
        }

        public boolean isInstanceOfTestClass()
        {
            return mInstance == TestClass;
        }
    }

    public class Main
    {
        public static void main(String[] args)
        {
            AnotherClass a = new AnotherClass(TestClass);

            if(a.isInstanceOfTestClass)
                System.out.println("lala");
        }
    }

(试图将其包装为代码块)

没有“对象实例”这样的东西。对象是类的实例,所以“实例”和“对象”指的是同一个对象

您可以使用
instanceof
操作符测试任意对象是否是特定类的实例:

if (a instanceof AnotherClass) {
    // ...
}
还有类
java.lang.class
,它表示对象的类。您可以通过调用对象上的
getClass()
来获得它:

Class<?> cls = a.getClass();
Class cls=a.getClass();

请参阅
java.lang.Class
的API文档,没有“对象实例”这样的东西。对象是类的实例,所以“实例”和“对象”指的是同一个对象

您可以使用
instanceof
操作符测试任意对象是否是特定类的实例:

if (a instanceof AnotherClass) {
    // ...
}
还有类
java.lang.class
,它表示对象的类。您可以通过调用对象上的
getClass()
来获得它:

Class<?> cls = a.getClass();
Class cls=a.getClass();

请参阅
java.lang.Class
的API文档,您可以使用
Class.isAssignableFrom
并使用Class实例进行构造,其中T是您要测试的类


但是,如果您为强制键入和生成非特定类型的类而烦恼,我建议您阅读泛型。

您可以使用
Class.isAssignableFrom
并使用类实例进行构造,其中T是您要测试的类


但是,如果您对强制键入和创建非特定类型的类感到烦恼,我建议您阅读泛型。

我很难理解这一点。对象是类的实例。
Instance
mean?也许您想使用类的
.class
属性?不知道你想做什么很难说。我很难理解这一点。对象是类的实例。
Instance
mean?也许您想使用类的
.class
属性?在不知道您要做什么的情况下很难说。您想要在“类”中使用的特定方法是“isAssignableFrom”,它是instanceof的更动态的版本。如果我有一个父类敌人和一个继承敌人的子类僵尸。然后,我如何执行类mEnemyClass并分配mEnemyClass=Zombie.Class?
Class“Class”中需要的特定方法是“isAssignableFrom”,它是instanceof的更动态的版本。如果我有父类敌人和继承敌人的子类Zombie。然后如何执行类mEnemyClass并分配mEnemyClass=Zombie.Class?
Class