コメントでRobert Kilarが正しく指摘しているようにinStringが初期化されないため、nullになります。
クラス名を使用して静的変数を参照します。
例 ClassName.変数名. あなたの場合
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 で static 変数を参照します。
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();
}
}
次にマイクラスで
public class MyClass
{
public MyClass(StringBuffer value)
{
System.out.println("............."+value);
}
}
リンクを確認してください @なぜ静的変数は悪とみなされるのですか?