繁体   English   中英

在Java中调用实例方法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM