[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 12793] Re: 読書会 (Java 言語仕様第3版) 第 10 回議 事録



小棚木です。

宿題について調べました。
調査したソースはJ2SDK 1.4.2です。

結論は"nativeメソッドを使ってfinal値を書き換えている。"です。
setOut,setErrも同様です。

> ■ 17.5 final フィールドのセマンティックス
> 17.5.4 実行
>  - System.setIn、System.setOut、System.setErr 実装の秘密を探る。-> 宿題
public static void setIn(InputStream in) {
    checkIO();  <== Permissionのチェック
    setIn0(in); <== nativeメソッド呼び出し
}

private static native void setIn0(InputStream in);


以上