- PR -

interfaceの定数について

1
投稿者投稿内容
Sum+Go
常連さん
会議室デビュー日: 2006/03/11
投稿数: 40
投稿日時: 2007-04-09 08:57
定数の書き方についての質問なのですが、

public static final String abc = "あああ";
public final static String abc = "あああ";

でstaticとfinalの位置はどちらでもいいのでしょうか?
よねKEN
ぬし
会議室デビュー日: 2003/08/23
投稿数: 472
投稿日時: 2007-04-09 09:20
#interfaceは特に関係ないですね

引用:

Sum+Goさんの書き込み (2007-04-09 08:57) より:
定数の書き方についての質問なのですが、

public static final String abc = "あああ";
public final static String abc = "あああ";

でstaticとfinalの位置はどちらでもいいのでしょうか?



文法上はどちらでも問題ありません。
慣習的には前者が推奨されています。

参考リンク
http://rararahp.cool.ne.jp/cgi-bin/lng/java/javalng.cgi?print+200308/03080005.txt

http://www.y-adagio.com/public/standards/tr_javalang2/classes.doc.html#78188

[ メッセージ編集済み 編集者: よねKEN 編集日時 2007-04-09 09:21 ]
Sum+Go
常連さん
会議室デビュー日: 2006/03/11
投稿数: 40
投稿日時: 2007-04-09 09:53
ありがとうございました。参考URLも勉強になりました。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-04-09 10:54
蛇足ですが、私はそもそも装飾子を書かない派です。
String HOGE = "HOGE";
と書けば必然的に
public static final String HOGE = "HOGE";
になるので、書かなくても済むものは書かないです。

同時に抽象メソッドも、
String getHoge();
と書きます。
これも書かなくても
public abstract String getHoge();
になるからです。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-04-09 17:15
引用:

かつのりさんの書き込み (2007-04-09 10:54) より:
蛇足ですが、私はそもそも装飾子を書かない派です。
String HOGE = "HOGE";
と書けば必然的に
public static final String HOGE = "HOGE";
になるので、書かなくても済むものは書かないです。

同時に抽象メソッドも、
String getHoge();
と書きます。
これも書かなくても
public abstract String getHoge();
になるからです。



interfaceに記述されたメソッドは暗黙にpublic abstractですが、
実はこの仕様を知らない人が多い…

確かJavaの標準のコード規約ではpublic abstractを書かない方を
推奨していましたよね。私はコレに慣れたのはここ2,3年のことですね。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-04-09 19:47
Javaを触っていると必然的にオープンソースのコードを読む機会が増えますが、
Jakarta系のコードを読むと、省略していることが多いです。
私はモロJakarta系のコードの影響を受けています。

大手SIerのコードの規約に沿ったりすると、
冗長なコードが好きなのか知りませんが、
省略禁止というのを見ることがあります。
よっぽど無駄な事がしたいのかと・・・
KOX
大ベテラン
会議室デビュー日: 2004/08/23
投稿数: 142
投稿日時: 2007-04-10 08:59
引用:

かつのりさんの書き込み (2007-04-09 19:47) より:
大手SIerのコードの規約に沿ったりすると、
冗長なコードが好きなのか知りませんが、
省略禁止というのを見ることがあります。


この要因の一つとして、
nagiseさんが書かれている
引用:

interfaceに記述されたメソッドは暗黙にpublic abstractですが、
実はこの仕様を知らない人が多い…


の部分が大きいと思います。
無駄かどうかではなく、
「誰でも理解できるように」が目的かと。
1

スキルアップ/キャリアアップ(JOB@IT)