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

[jfriends-ml 12691] 議事録「 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からスタート
----------------------------------------------------------------------


-- 
高橋智宏