0

我正在尝试将字符串从一个类传递到另一个类,但没有成功。我在研究和反复试验期间意识到,我需要有“public static void main(String[] args) {}”才能使用 if 语句,但是 getY() 会产生错误。我能做些什么不同的事情?

public class Testing {
public static String z;
public static void main(String[] args) {
int x = 15;

if (x >= 10)
    {
    z = "Blabla";
    }
    public static String getZ() {
    return z;
    }
  }
}

另一类是

class B {
public static void main(String args[]) {
String x = Klasatest2.getZ();

System.out.println(x);
}
}

错误:

Klasatest2.java:14:表达式的非法开始

public static String getZ() 

^

Klasatest2.java:14:表达式的非法开始

public static String getZ() {

       ^

Klasatest2.java:14: ';' 预期的

public static String getZ() {

                    ^

Klasatest2.java:14: ';' 预期的

public static String getZ() {

                           ^

4 个错误

4

2 回答 2

0

您的应用程序只能有一种main(String args[])方法。尝试这个:

public class Testing {
  public static void main(String[] args) {
    A a = new A("hy");
    B b = new B(a.z);
  }

  public class A {
    public String z;
    public A (String z) {
      this.z = z;
    } 
  }

  public class B {
    public B (String y) {
      System.out.println(y);
    }
  }
}
于 2012-10-12T16:00:46.083 回答
0

对于初学者,您不能在方法中声明方法,

public static void main(String[] args) {
int x = 15;

if (x >= 10)
    {
    z = "Blabla";
    }
    public static String getZ() {
    return z;
    }
  }
}

因此,您必须确保将 getgetZ()方法声明为 OUTSIDE ofmain(string[] args)

像这样,

public class Test {
public static String z;
public static void main(String[] args) {
int x = 15;

if (x >= 10)
    {
    z = "Blabla";
    }

  }
public static String getZ() {
    return z;
    }
}

此外,您不应该有两种main(String[] args)方法,因为除非出于某种原因您决定自己调用它,否则只会调用其中一种,这会很奇怪。因此,如果您希望在 class 中设置字符串,则Test需要main从其他类中调用它的方法,可能像这样。

Test.main(null);
于 2012-10-12T15:56:56.330 回答