JavaのClassクラスについての質問です。
これを参考にしました。
http://qiita.com/SHOSI/items/ea713e6205257ab8617b
「全てのクラスのスーパクラスであるObjectクラスにgetClass()問いメソッドが実装されており、サブクラスのインスタンス生成時に該当のサブクラスのClass情報をClassクラスのインスタンスとして生成し、保持します。
また、同時にObjectクラスにはclassというpublic static finalフィールドが存在し、クラスロード時に生成され、String.classというようにすることで、対象のクラスのClassクラスを取得することができる。」
実際、String.classというふうにすれば、StringのClassクラスがえられるわけですが、Objectクラスを見ていても、classというフィールドが見当たりません。
また、
Class<?> str = String.class;
とすれば、classクラスのインスタンスが得られるというのもよくわかりません。
メソッドであれば返り値がそのインスタンスなんだろうと思いますが、フィールドでどうしてインスタンスが得られるのでしょうか。
また、isArray()メソッドについて、
この Class オブジェクトが配列クラスを表すかどうかを判定します
とリファレンスには書いているのですが、これってどういう意味なんでしょうか。
配列変数をフィールドに持つという意味ではないのですよね?
ご存知の方いらっしゃいましたら、回答お願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/08/11 11:48
2016/08/11 12:26
退会済みユーザー
2016/08/12 14:59
2016/08/12 15:17