• ベストアンサー

new クラス名(Activity名.this);

Android ・下記のようなコードがあるのですが、このとき「.this」の意味を教えてください ・Activityクラス自身? ・「.」で繋いでいる意味も、「this」の意味も良く分かりません ・thisだけでは駄目? ・引数は1つ? public class Hoge extends Activity {  public class C1 {//インナークラス?   protected m1method(略) {   略 = new クラス名(Hoge.this);

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

このソースはHogeクラスの中に新しくC1クラスを定義しているのでC1はHogeクラスの インナークラスで間違いなく Hode.C1 と「.」でつないで表記します。 このときのHoge.thisとは、Hoge.C1クラスのオブジェクト自身のことです。例えば、 tmp = new Hoge.C1(); とした場合は tmp に該当します。 また、最後の行は、自分自身をパラメータとして「クラス名」のオブジェクトを生成 していますので、引数の数はそのクラスによります。 試してないので不確かですが、thisだけだとHogeクラスのオブジェクトと間違う 可能性がありますので、Hoge.thisのほうが確実です。

re97
質問者

お礼

回答ありがとうございました。 説明分かりやすかったです。 大変参考になりましたー

関連するQ&A