きしださんのインターフェースの疑問がよくわからなくて色々悩みました。最初読んだときに「Javaの全てのクラスの親はObjectクラスだから」じゃないの?とあさはかな事思ってたんですがやっと本質に気づきました。(汗
Runnable a = new Thread();
a.toString();
と有った時になんでインターフェースRunnableにないメソッドよべるの?って事だったんですね。。。。
んでコメントで
http://java.sun.com/docs/books/jls/third_edition/html/names.html#6.4.4
に書いてあるように、Objectクラスのメソッドが暗黙的にpublic abstractで宣言されるからです。』
とありました。こんな風になってるんですね。暗黙的に宣言されるというのはいつされているんだろうかと自分でインターフェースを作ってデコンパイルしてみましたがクラスファイルには含まれていなかった。てことは実行時にできるのかしら?うむむ?
世の中分からないことだらけだorz