如何调用静态类'方法 我有像
这样的父类import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "parent")
public class parent {
@XmlElement(required = true)
protected String methodName;
@XmlElement(required = true)
protected MethodCall.Params params;
public static class member {
@XmlElement(required = true)
protected String name;
public String getName() {
return name;
}
public void setName(String value) {
this.name = value;
}
}
}
我想调用静态类'(成员)getter和setters方法。 我试着打电话给
parent.member.setName("value")
但它不起作用。如何调用静态类中的setter和getters方法?
答案 0 :(得分:3)
您需要parent.member
的实例,因为setName
是一个实例方法:
// TODO: Follow Java naming conventions for types...
parent.member x = new parent.member();
x.setName("foo");
答案 1 :(得分:0)
你不能这样调用它,因为静态嵌套类中的方法不是静态函数。它的实例函数。
//Its wrong
parent.member.setName("value");
//right way to call
parent.member obj= new parent.member();
obj.setName("value");
答案 2 :(得分:0)
将方法定义更改为:
public static String getName()
public static void setName(String value)
和字段:
protected static String name;
使用您的代码进行调用。另一种方法是即时更新当前类(父母内部):
member tmp = new member()
然后:
tmp.setName("value")
答案 3 :(得分:0)
setName()
不是静态方法。
因此,无论何时想要调用此方法,都必须使用类的实例。
parent.member mem = new parent.member();
mem.setName();