2016-07-21 9 views
0

私はjavaを学ぼうとしています。現在、変数のタイプについて学習しています。 私はインスタンス、ローカル、静的変数を定義する小さなプログラムを書いて、mainメソッドでwithと同じものを表示しようとしています。しかし、私は非静的変数iが静的コンテキストから参照することはできません」というエラーを取得しています以下はインスタンス変数の値が表示されません

public class variable{ 
    int i=5; 
    static int j=10; 
    public static void main(String[] args){ 
    int k=15; 
    System.out.println(i); 
    System.out.println(j); 
    System.out.println(k); 
    } 
} 

は私がプログラム

+0

正しい字下げでコードを書式設定してください。この質問ではなく、あなたのIDEで。フォーマットが適切であれば、問題がはるかに容易に見えます。 – f1sh

+0

私は初心者です。私はメモ帳を使用して、ツールの代わりにコードを記述しています。 – shaiksha

+0

静的メソッドでは静的でない変数を呼び出すことはできません。 "i"は非静的変数で静的メインメソッドで使用されます。 – Arjit

答えて

0

オプションでいただきました!間違った教えてください私のプログラムです。

が作りますあなたはそれをプライベートにする、とgetterメソッドを追加する必要がありますので、それは、おそらく最良の選択肢ではありません実際には、あなたが私に到達することができますので、あなたのクラスの新しいインスタンス。... :)

OR

静的メインメソッドのためint istatic int iに変更できます。

1:camescasedクラス名を持っている方が良いです... :)あなたは、変数のインスタンスを作成する必要があり

+0

そのプロジェクトの全体のポイントは静的ではない変数を持つことです。 – f1sh

+0

@ f1shはい、申し訳ありませんが、あなたは正しいです... – Leah

4

とアクセス私は

variable v = new variable(); 

// then access v.i 

ところであなたのクラス名にキャメルケースを使用しています。

0

int静的コンテキストcantは非静的変数を参照してください。

関連する問題