2017-09-13 2 views
-3

システムのプリミティブ型intは、フィールドを持っていないうち私が取る

int System = 90; 
System.out.println(System); 
それはエラー与えている

:のprintln文の中で「システムのプリミティブ型intのフィールドを持っていません」 intシステムの宣言が正しく表示されています。

+5

まあ...あなたは何を期待していますか?あなたは 'int'に' System'を宣言しました!次に、 'System'のフィールドにアクセスしようとします。プリミティブ型にはフィールドがありません。これは、Javaスタイルのガイドラインを無視した場合に得られるものです。変数は大文字で始まらなければなりません**。 –

答えて

1

変数名 "System"はクラス "System"をシャドーイングしています。

1

システムは、クラス名です

int System = 90; 
java.lang.System.out.println(System); 

しかし、Javaの命名規則に従う方が良いでしょうし、小さな文字から変数の名前を開始します。
あなたはクラスSystem、例えばの完全修飾名を使用する必要がありますあなたはクラスの使用java.lang.Systemの完全修飾名を使用するか、またはあなたは、単にあなたの変数の名前を変更するので、(私はこれを好むだろう、理解code conventionsに役立つ)、同じ文脈で使用される:

int system = 90; // rename this 
System.out.println(system); 
関連する問題