- PR -

Javaコンパイルにおけるfinal定数について

1
投稿者投稿内容
ハネ
常連さん
会議室デビュー日: 2002/01/09
投稿数: 32
お住まい・勤務地: 東京
投稿日時: 2006-07-04 22:38
public class B {
public static final String VAL1 = "111";
public final String VAL2 = "222";
}
public class A {
public static main(String[] args) {
System.out.println(B.VAL1);
System.out.println(new B().VAL2);
}
}

上記クラスA、BをコンパイルしてクラスAを逆コンパイルすると
public class A {
public static main(String[] args) {
System.out.println("111");
new B();
System.out.println("222");
}
}
のようになっていました。
ということはfinal定数を修正した場合、それを使用しているクラスまでコンパイルしないと修正内容は反映されないということですよね。
上記のようなことを取り上げているサイトや書籍をご存知の方、教えて頂けないでしょうか?
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-07-04 23:16
Java言語仕様
http://java.sun.com/docs/books/jls/third_edition/html/binaryComp.html#13.4.9
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2006-07-04 23:52
JAVA魂って本にも、そのへんのことが詳しくかいてありましたよ。

http://www.amazon.co.jp/exec/obidos/ASIN/4873112079/250-1642488-6141035
1

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