这两段代码有什么区别?

Gur*_*K95 1 java android

这两个意图启动另一个名为StartActivity的活动.它们都在不同的环境中运行但不可更换.

Intent intent = new Intent(MainActivity.this, StartActivity.class);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

Intent intent = new Intent(this, StartActivity.class);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

Com*_*are 5

当此代码出现在内部类中时MainActivity,您会看到第一种语法,例如View.OnClickListener您为setOnClickListener()调用创建的匿名内部类实现.它说" this我们想要的是实例MainActivity,而不是实现的实例View.OnClickListener".