如何在JavaME中获得抽象类(对象)的类?

如何在JavaME中获得抽象类(对象)的类?,java,java-me,Java,Java Me,我需要在运行时获取对象的类 对于非抽象类,我可以执行以下操作: public class MyNoneAbstract{ public static Class MYNONEABSTRACT_CLASS = new MyNoneAbstract().getClass(); 但是对于一个抽象类,这不起作用(总是给我对象) 此代码将在JavaME环境中运行。您只需要 MyAbstract.class 该表达式返回表示MyAbstract的类对象。在抽象情况下需要的代码是: public

我需要在运行时获取对象的类

对于非抽象类,我可以执行以下操作:

public class MyNoneAbstract{
    public static Class MYNONEABSTRACT_CLASS = new MyNoneAbstract().getClass();
但是对于一个抽象类,这不起作用(总是给我
对象

此代码将在JavaME环境中运行。

您只需要

MyAbstract.class

该表达式返回表示MyAbstract的类对象。

在抽象情况下需要的代码是:

public abstract class MyAbstract{
    public static Class MYABSTRACT_CLASS = MyAbstract.class;
}
虽然我个人不会费心定义常量,只在整个过程中使用MyAbstract.class


我希望您编写的代码返回的是类“class”,而不是类“Object”。

我认为这里需要更多信息。 在Java中,抽象类不能被实例化。 这意味着运行时对象的类不能是抽象的。 它需要是一个实现所有抽象方法的子类。 在JavaME中,
Object.getClass()
应该是您所需要的全部。 您是否试图在运行时重新构建类层次结构

在这种情况下,您可以实现如下内容:

public String getClassHierarchy() {
    return super.getClassHierarchy() + ".MyAbstract";
}

我解释得很糟糕。我需要返回相关helper类的类,静态变量只是为了方便起见,非常感谢您的响应它将在CLDC1.1上,但不是在CLDC1.0上:
public String getClassHierarchy() {
    return super.getClassHierarchy() + ".MyAbstract";
}