[英]Calling instance method in Java
遵循本教程:
http://developer.android.com/training/notepad/notepad-ex2.html
在第2步中,调用此方法:
registerForContextMenu(getListView());
这是Activity的公共方法。 现在,我在这里是一个Java新手 - 我想如果你想调用一个超类的实例方法,你需要用它来加上它 。 例如
this.registerForContextMenu(getListView());
这只是一种风格吗? 两者之间有什么区别吗?
this.registerForContextMenu
简单地说
registerForContextMenu
不,没有区别。
你不必使用this.
,但无论如何通常都会使代码更清晰。
首先,如果您使用调用实例方法的约定,它可以很容易地判断方法是否是static
:
this.registerForContextMenu()
和这样的static
方法:
ClassName.staticRegisterForContextMenu()
你不必使用this
。 如果省略它,则假定您在this
范围内调用了方法。 一个具体的例子,当this
可以帮助可能,即:
Boolean someVar;
public function setMe( Boolean someVar ) {
this.someVar = someVar;
}
在这种情况下,没有this
你会得到错误。
要调用超类的方法,您需要superclss或关键字super的 对象 。 例如。
superObject.superclassMethod();
super.superclassMethod();
这是当前对象的引用。 这可以用来调用使用它的类的方法。 这永远不能用于调用超类方法。
至于
this.registerForContextMenu()
和
registerForContextMenu()
没有这样的区别。 你可以使用它们中的任何一个。
这两种方法都适用于在类的当前(此)实例上调用方法。 非私有方法继承自超类,因此您可以使用相同的语法来调用此类方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.