您将得到空值,因为inString从未按Robert Kilar在注释中正确指出的那样进行初始化。
您可以通过使用类名来引用静态变量。
示例ClassName.variablename。就你而言
main.inString
运行您的主类。当您运行inString时,将在该类的构造函数中对其进行初始化。现在,您可以在Myclass中引用相同的内容,如下所示。
public class main {public static StringBuffer inString;public main(){inString = new StringBuffer("Our aim is to make a 15 realistic game, where grinding powerlines and doing a tailwhip isn't easy, like in the real world. A game in which you will feel like you're actual riding. A game in which creativity and beauty are combined. ");inString = new StringBuffer(inString.toString().replaceAll(" +", " "));new MyClass();}public static void main(String[] args) { new main(); }}现在在MyClass中引用静态变量。
class MyClass {public MyClass() { System.out.println("............."+main.inString);// refer to static variable}}您还可以将变量传递给类的构造函数。
public class main {public StringBuffer inString; public main() { inString = new StringBuffer("Our aim is to make a 15 realistic game, where grinding powerlines and doing a tailwhip isn't easy, like in the real world. A game in which you will feel like you're actual riding. A game in which creativity and beauty are combined. "); inString = new StringBuffer(inString.toString().replaceAll(" +", " ")); new MyClass(inString); }public static void main(String[] args) { new main(); }}然后在Myclass
public class MyClass { public MyClass(StringBuffer value) { System.out.println("............."+value); } }


