- ベストアンサー
「Color.red」の文法について
java初心者です、宜しくお願いします。 「setBackground( Color.red ) ;」、「setBackground( Color.RED ) ;」と書いてもエラーは出ません。 「Color.RED」は「ColorクラスのREDというフィールド」という内容だと思うのですが、 「Color.red」の 「red」の構文はどのような文法になっているのでしょうか。 何故小文字でもエラーにならないのでしょうか、小文字でも「フィールド」としてエラーではないの でしょうか。 宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
迷ったら、まずはマニュアルを読んでみましょう Color.RED http://docs.oracle.com/javase/7/docs/api/java/awt/Color.html#RED Color.red http://docs.oracle.com/javase/7/docs/api/java/awt/Color.html#red どちらも public static final Color で、文法的には同じものです。 エラーにならないのは、両方定義されているから。 大文字小文字を区別していない、とかでは無いことは、例えば次の例ではっきりします。 Color.DARK_GRAY http://docs.oracle.com/javase/7/docs/api/java/awt/Color.html#DARK_GRAY Color.darkGray http://docs.oracle.com/javase/7/docs/api/java/awt/Color.html#darkGray これらは、 dark_grayやDARKGRAYでは未定義でエラーになります。
その他の回答 (1)
- salsberry
- ベストアンサー率69% (495/711)
大文字も小文字も両方Colorクラスのstaticフィールドとして定義されています。どちらでも同じ色を表します。 歴史的には大文字のほうが後から追加されたものです。定数であることを分かりやすくするために大文字にしたんじゃないでしょうか。
お礼
kmeeさん、有難うございました。