私の質問は、JAVA にはポインターがないということですが、別のアクティビティを開始する必要がある場合は、次のようにします。
Intent in = new Intent(MyActivity.this, NewActivity.class);
startAcitivity(in);
だから私の質問は、データ型は何MyActivity.this
ですか??
私の質問は、JAVA にはポインターがないということですが、別のアクティビティを開始する必要がある場合は、次のようにします。
Intent in = new Intent(MyActivity.this, NewActivity.class);
startAcitivity(in);
だから私の質問は、データ型は何MyActivity.this
ですか??
Java ではポインターは明示的に許可されていませんが、Java での参照 (オブジェクト) による受け渡しは、暗黙的にポインターの概念に基づいているものです。
あなたの場合、親クラスのコンテキストを子クラスに渡していますが、これは実際には参照の概念を渡しています。
お役に立てれば。
ネストされていないクラスにいる場合、またはトップレベルのクラスにいる場合、書き込みは書き込みMyActivity.this
と同じです。this
次の例を参照してください。
public class TopLevel{
public static void main(String[] args){
new TopLevel().printClass();
}
public TopLevel(){
new LowerLevel().printClass();
}
public void printClass(){
System.out.println("Outer Class: ");
// Will print something like "TopLevel.class"
System.out.println(this.getClass());
}
public class LowerLevel{
// This is a Nested-Class.
public void printClass(){
System.out.println("Nested Class: ");
// Will print "TopLevel$LowerLevel.class"
System.out.println(this.getClass());
// Will print "TopLevel.class" again
System.out.println(TopLevel.this.getClass());
}
}
}
ネストされたクラスでの一部の使用this
は、最上位クラスで使用する場合と同じインスタンスを参照しません。したがって、ネストされたクラスの外側のクラスの「コンテキスト」を取得するには、コンテキストを取得するクラスも指定しますthis
。