読書会(Java言語仕様 第3版)第3回議事録
[ 戻る ]
議事録「Java言語仕様 第3版」を読む会(第3回)
出席者:高橋(徹)、高橋(透)、村山、岩室、高橋(智)、福岡、遠藤、奥野、
吉本、岡沢、根元、門脇
読み手:岩室、遠藤、岡澤、根本、高橋(徹)
書記:高橋(智)
P.102 (6.1 宣言)
配列のlengthは宣言に入るのか?
--> JavaVM側が宣言する
--> 暗黙のもの、実体のもの、自動的なもの
P.103 (名前と識別子)
識別子の定義は?
--> P.19の3.8に書かれている
名前と識別子との違いは?
--> "."の後ろが識別子
--> 明確な定義は無い??
「以下の状況においても」の意味するところは?
--> 単純名/限定名以外の識別子の使い方を列挙している
--> 5つある!!
--> 区切りには "." しかない
--> C++には "::" がある
P.104 (名前と識別子)
ラベルは宣言ではない
--> 名前でもない
--> 実体が無い
--> 識別子である!!
サンプルコードはJavaパズラーの問題になりうる!!
--> コンパイルができるのか否か?
P.106 (宣言のスコープ)
pointsパッケージの Point と PointList の宣言を C++ で書いてみる
--> 宿題!!
スクリプトでは依存する宣言ほ先に書く必要がある
--> スクリプトは不便ではないか?
--> JavaやC#などでは可能なのに...
pointsパッケージの Point と PointList の宣言を Ruby と PHP で書いてみる
--> 宿題!!
P.107 (宣言のシャドーイング)
「シャドーイング」の日本語訳が無い
--> 適切な日本語訳は?
--> 「隠蔽(hide)」は日本語に訳されているのに...
--> オプスキュアも日本語訳が無い
P.108 (宣言のシャドーイング)
コードに "import java.util.Vector"と書くとコンパイルエラーになるのか?
--> 宿題!!
--> オブスキュアになるのでは?
--> 競合してエラーになる?
--> コンパイラやIDEによってエラーが違う可能性がある
余談:
EclipseはそもそもJavaVMを使って動作しているのか?
--> だとすると何のJavaVMを使用している? それを変更することは可能なのか?
P.110 (クラス型のメンバ)
クラスが実装(implements)したinterfaceのフィールドは、そもそも「継承」なのか?
--> Test.WHITE と書ける!!
P.111 (インタフェース型のメンバ)
ColorsAndSeparates.WHITE と書ける!!
P.112 (配列型のメンバ)
配列の clone の使い方は?
--> 配列の clone の戻り値は?
--> ジェネリックスの利用の有無で書き方の違うのか?
--> 宿題!!
P.114 (コンテキストによる名前の構文上の分類)
「限定的なthis式」とは?
--> インナークラスで使用する際の話
「superキーワード...限定的な型」とは?
--> アウタークラスのsuperにアクセスする時の話
P.119 (単純な式名)
static final int f = 3; がもし staticでない時はどうなる?
P.126 (例: フィールド、メソッド、コンストラクタのデフォルト・アクセス)
PlusPointのmoveがメソッドがPointのmoveメソッドをオーバーライドしないのは何故?
--> オーバーライドが起こる条件は P.200 を見ること!!
--> もし、PlusPointのパッケージが同じpointsだったら、オーバーライドする?
P.129 (完全限定名と正準名)
そもそも「正準」とは?
--> 「canonical」の正しい日本語訳は?
--> Win32のAPIや、JavaのFileクラスの日本語ドキュメントでは「正規」とある
--> Java API リファレンスには「中国語版」がある?
--> 何処にある?
--> 「canonical」は中国語では何と訳されている?
--> 数学用語には「正準、正規、標準、正則」がある
P.130 (パッケージ名)
"javax"や"sun"は使用すべきではない?
--> そもそも予約されているパッケージ名は何処に書かれている?
P.140 (パッケージのファイル・システムへの格納)
漢字のパッケージ名やクラス名を使用してコンパイルする
--> UTF-8の文字コードでパス名が作成されているようだ
--> .jarファイルに固めて、jarコマンドでリストアップするとどう表示される?
--> jarコマンドはUTF-8をプラットホームに合わせて変換して表示している
--> .jarを.zipに変えて、WinZipなどで表示すると化けて見える
P.141 (コンパイル単位)
java.langとjava.ioはなぜ常に観測可能でなければならないのか?
--> java.langにはjava.ioに依存しているコードがあるから
P.143 (無名パッケージ)
そもそもJavaには「カレントディレクトリ」が存在するのか?
--> Javaで「カレントディレクトリ」を取得する方法は?
--> Javaで「カレントディレクトリ」を変更する方法は?
--> 宿題!!
次回は、P.146からスタート
[ 戻る ]