【发布时间】:2014-09-24 14:52:43
【问题描述】:
我刚刚开始学习 Java,它很棒。我需要了解的一件事是,在一个类中,我们可以通过两种方式访问实例变量:
class Box {
// Instance variables
private int width;
private int height;
private int depth;
// First way
public void set_volume(int a, int b, int c) {
this.width = a;
this.height = b;
this.depth = c;
}
// Second way
public void set_volume_v2(int a, int b, int c) {
width = a;
height = b;
depth = c;
}
}
这里,没有 this 关键字和使用它都可以访问实例变量。那么最好的方法是什么?或者它们之间有什么区别?
【问题讨论】:
-
两者都可以。当字段名称被参数隐藏时,您通常使用
this关键字。 -
在您的情况下,两者都是相同的,因为在解析局部变量和实例变量时没有歧义,因为它们的名称不同!有时最好在冗长的方法中使用
this,以便更清楚地识别实例变量和局部变量。 -
@Shiva 3 个链接没有回答。顺便说一句,不错的尝试。
-
对于持有者的一个评论,我得到的 3 个答案都是相同的,他们没有意见不同。所以,这个问题在我看来绝不是一个基于意见的问题。
标签: java oop this instance-variables