プロが教えるわが家の防犯対策術!

Android

・下記のようなコードがあるのですが、このとき「.this」の意味を教えてください
・Activityクラス自身?
・「.」で繋いでいる意味も、「this」の意味も良く分かりません
・thisだけでは駄目?
・引数は1つ?

public class Hoge extends Activity {

 public class C1 {//インナークラス?

  protected m1method(略) {
  略 = new クラス名(Hoge.this);

A 回答 (1件)

このソースはHogeクラスの中に新しくC1クラスを定義しているのでC1はHogeクラスの


インナークラスで間違いなく Hode.C1 と「.」でつないで表記します。

このときのHoge.thisとは、Hoge.C1クラスのオブジェクト自身のことです。例えば、
tmp = new Hoge.C1(); とした場合は tmp に該当します。

また、最後の行は、自分自身をパラメータとして「クラス名」のオブジェクトを生成
していますので、引数の数はそのクラスによります。

試してないので不確かですが、thisだけだとHogeクラスのオブジェクトと間違う
可能性がありますので、Hoge.thisのほうが確実です。
    • good
    • 1
この回答へのお礼

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

お礼日時:2013/12/15 08:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!