在java中使用关键字“this”
我试图了解java关键字的实际作用。我一直在阅读Sun的文档,但我仍然对实际操作感到困惑。this
this
我试图了解java关键字的实际作用。我一直在阅读Sun的文档,但我仍然对实际操作感到困惑。this
this
关键字是对当前对象的引用。this
class Foo
{
private int bar;
public Foo(int bar)
{
// the "this" keyword allows you to specify that
// you mean "this type" and reference the members
// of this type - in this instance it is allowing
// you to disambiguate between the private member
// "bar" and the parameter "bar" passed into the
// constructor
this.bar = bar;
}
}
另一种思考方式是,关键字就像你用来引用自己的人称代词。其他语言对同一概念有不同的单词。VB使用和Python约定(因为Python不使用关键字,只是每个方法的隐式参数)是使用。this
Me
self
如果你要引用本质上是你的对象,你会这样说:
我的胳膊或腿
可以认为这只是一个类型说“我的”的一种方式。所以伪代码表示形式将如下所示:this
class Foo
{
private int bar;
public Foo(int bar)
{
my.bar = bar;
}
}
关键字在不同的上下文中可能意味着不同的东西,这可能是您感到困惑的根源。this
它可以用作对象引用,它引用当前方法被调用的实例:return this;
它可以用作对象引用,它引用当前构造函数正在创建的实例,例如访问隐藏字段:
MyClass(String name)
{
this.name = name;
}
它可用于从构造函数中调用类的不同构造函数:
MyClass()
{
this("default name");
}
它可用于从嵌套类中访问封闭实例:
public class MyClass
{
String name;
public class MyClass
{
String name;
public String getOuterName()
{
return MyClass.this.name;
}
}
}