java - 可以将静态主类中的类类型参数传递给另一个类

时间:2014-03-03 16:17:04

标签: java

我有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
   }
}

错误消息继续说一个是静态的而另一个是非静态的,但它们应该指向同一个对象

2 个答案:

答案 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 []

您的问题远非明确,因此我建议您添加更多代码示例,以明确您真正想要做的事情。