使用类对象的变量?

时间:2015-02-24 21:07:07

标签: java

我是一名java初学者,我遇到了问题。 我用

创建了一个类的对象
Object pw = Class.forName(nameNeu).newInstance();

现在我需要访问我创建对象的类的varibale。 这有可能吗?

2 个答案:

答案 0 :(得分:1)

使用Class.forName(nameNeu).newInstance();构建对象是一种不好的方法,除非有充分的理由这样做。

而是使用标准构造函数,例如Foo myFoo = new Foo()

如果必须以这种方式构造对象,是的,可以访问对象的实例变量。问题是您的变量pw被声明为Object。对象没有很多有用的方法。您应该将Object强制转换为更具体的类。

例如,

MoreSpecificType pw = (MoreSpecificType) Class.forName(nameNeu).newInstance();

pw.someMethod();

您可以致电someMethod(),因为它是MoreSpecificType的一种方法,但它不是Object的方法

答案 1 :(得分:1)

如果nameNeu="my.BeginnerClass"和您的班级有方法foo(),那么您可以写:

my.BeginnerClass pw = (my.BeginnerClass)Class.forName(nameNeu).newInstance();
pw.foo();

但这样做更直接:

my.BeginnerClass pw = new my.BeginnerClass();
pw.foo();