java—静态主类中的类类型参数是否可以传递给另一个类

java—静态主类中的类类型参数是否可以传递给另一个类,java,Java,我有两个类:静态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 arrayLi

我有两个类:静态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
   }
}

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

我不完全确定您要做什么,但下面的示例显示您可以将主类的实例传递到另一个类中:

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。

main是静态和公共的,因此您可以从任何其他类调用它,作为任何其他公共静态方法:staticly

如果您有一个包含

public static void main(String[] args) 
方法,则类B可以像

A.main(s); 
其中s是String[]


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

为什么不尝试一下,看看会发生什么:?您可以显示您的代码吗?您是想传递类还是类的实例?欢迎使用。在任何人回答之前,你必须先澄清这个问题。谢谢你的例子