遵循本教程:
http://developer.android.com/training/notepad/notepad-ex2.html
在第2步中,调用此方法:
registerForContextMenu(getListView());
这是Activity的公共方法。现在,我在这里是一个Java新手 - 我想如果你想调用一个超类的实例方法,你需要用这个作为前缀。例如。
this.registerForContextMenu(getListView());
这只是一种风格吗?
之间有什么区别吗?this.registerForContextMenu
简单地
registerForContextMenu
答案 0 :(得分:2)
不,没有区别。
您不必使用this.
,但无论如何通常都会使代码更清晰。
首先,如果您使用调用实例方法的约定,则可以很容易地判断方法是否为static
:
this.registerForContextMenu()
像这样的和static
方法:
ClassName.staticRegisterForContextMenu()
答案 1 :(得分:1)
您不必使用this
。如果省略它,则假定您在this
范围内调用了方法。 this
可能有用的一个特例就是:
Boolean someVar;
public function setMe( Boolean someVar ) {
this.someVar = someVar;
}
在这种情况下,没有this
你会得到错误。
答案 2 :(得分:1)
要调用超类方法,您需要 superclss对象或关键字 super 。 例如。
superObject.superclassMethod();
super.superclassMethod();
此是当前对象的引用。 此可用于调用使用它的类的方法。 此永远不能用于调用超类方法。
至于
this.registerForContextMenu()
和
registerForContextMenu()
没有这样的差异。你可以使用它们中的任何一个。
答案 3 :(得分:0)
对于在类的当前(此)实例上调用方法,这两种方法都是正确的。非私有方法继承自超类,因此您可以使用相同的语法来调用此类方法。