这个关键字在java中的用途是什么?
在什么情况下我需要使用这个关键字在java中的用途是什么?,java,object,keyword,Java,Object,Keyword,在什么情况下我需要使用this关键字?我以前在创建类对象时使用过它,但我发现我实际上并不需要它。无论变量前面是否有this关键字,程序的行为都是相同的 例如,我为演示而创建的同一圆圈对象的这两个版本在测试类中使用时产生相同的结果,但其中一个在其私有变量上使用了this关键字,而另一个则没有 没有此关键字的版本: public class Circle{ private int radius; public Circle(){ //default radius
this
关键字?我以前在创建类对象时使用过它,但我发现我实际上并不需要它。无论变量前面是否有this
关键字,程序的行为都是相同的
例如,我为演示而创建的同一圆圈对象的这两个版本在测试类中使用时产生相同的结果,但其中一个在其私有变量上使用了this
关键字,而另一个则没有
没有此
关键字的版本:
public class Circle{
private int radius;
public Circle(){
//default radius setting
radius = 1;
}
public Circle(int r){
radius = r;
}
public int getRadius(){
return radius;
}
public void setRadius(int r){
radius = r;
}
}
带有此
关键字的版本:
public class Circle{
private int radius;
public Circle(){
//default radius setting
this.radius = 1;
}
public Circle(int r){
this.radius = r;
}
public int getRadius(){
return this.radius;
}
public void setRadius(int r){
this.radius = r;
}
}
用于测试两个对象的测试类是:
public class Test{
public static void main(String[] args){
Circle c = new Circle();
System.out.println(c.getRadius());
c.setRadius(6);
System.out.println(c.getRadius());
}
}
在控制台中执行时,将为两个版本的类Circle生成以下输出:
$ java Test
1
6
在这种情况下,您需要它:
public void setRadius(int radius){
this.radius = radius;
}
这是编译器区分局部变量和成员变量的唯一方法这在解释Java编程的任何半正式教程中都有介绍。我知道你会问Stackoverflow这个问题,但这不是Stackoverflow的目的(见文章)。只要在互联网上查一下这个就可以了。去google.com。搜索“这个关键字java”。这是一篇关于它的好文章。你为什么使用单字母变量名?谢谢大家的链接!!当我在提交问题之前搜索答案时,我没有遇到这个问题。这很有帮助!