我有2个类静态main
类和类B
。我试图将main
传递给B
,其中有一个设置字段的方法。
可以这样做吗?
如果是的话,你能提供一些例子吗?
public static void main(String[] args) {
ArrayList a = new ArrayList()
class b = new class()
b.update(b);
}
class a {
public void update(ArrayList a) {
//updates the encapsulated arrayList field
}
}
错误消息继续说一个是静态的而另一个是非静态的,但它们应该指向同一个对象
答案 0 :(得分:0)
我不完全确定你要做什么,但这里有一个例子,表明你可以将主类的一个实例传递给另一个类:
public class A {
private String str = null;
public static void main(String[] args) {
A a = new A();
B b = new B(a);
System.out.println(a.getStr());
}
public String getStr() {
return this.str;
}
public void setStr(String str) {
this.str = str;
}
}
public class B {
public B(A a) {
a.setA("hello");
}
}
运行此代码将打印出hello
。
答案 1 :(得分:0)
main是static和public,所以你可以像任何其他公共静态方法一样从任何其他类调用它:静态。
如果您的A类包含
public static void main(String[] args)
方法,然后B类可以调用此方法,如
A.main(s);
其中s是String []
您的问题远非明确,因此我建议您添加更多代码示例,以明确您真正想要做的事情。