我是一名java初学者,我遇到了问题。 我用
创建了一个类的对象Object pw = Class.forName(nameNeu).newInstance();
现在我需要访问我创建对象的类的varibale。 这有可能吗?
答案 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();