我是JAVA的初学者,我对Java中this
的定义感到困惑。我读过它指的是current object
。
但这意味着什么? Who
将对象分配给this
?我现在在编写what should be
代码this
的过程中如何知道。
简而言之,我对this
感到困惑。任何人都可以帮我摆脱困惑吗?我知道this
非常有用。
答案 0 :(得分:2)
请按照以下两个链接: -
http://javapapers.com/core-java/explain-the-java-this-keyword
http://docs.oracle.com/javase/tutorial/java/javaOO/thiskey.html
答案 1 :(得分:1)
this
是Java中的关键字,代表object
本身。这包含在基础知识中。也许你可以浏览它上面的任何好文章。我从Oracle (formerly Sun Java tutorial)
答案 2 :(得分:1)
this
用于引用类中的变量。例如
public class MyClass {
private Integer i;
public MyClass(Integer i) {
this.i = i;
}
}
在这段代码中,我们将参数i分配给类中的字段i。如果你没有这个,那么参数i将被分配给它自己。通常你有不同的参数名称,所以你不需要这个。例如
public class MyClass {
private Integer i;
public MyClass(Integer j) {
this.i = j;
//i = j; //this line does the same thing as the line above.
}
}
在上面的示例中,您不需要this
i
总之,您可以在所有类字段之前使用它。大多数情况下你不需要,但如果有任何类型的名称阴影,那么你可以使用this
明确表示你指的是一个字段。
您还可以使用this
来引用对象。它在您处理内部类并且想要引用外部类时使用。
答案 3 :(得分:1)
这很简单。
当前对象是代码在该点运行的对象。因此,它是this
代码出现的类的实例。
实际上,除非您在对象和本地范围内具有相同的标识符,否则this
通常可以删除,并且它将完全相同。
无法删除此
的示例public class myClass {
private int myVariable;
public setMyVariable(int myVariable) {
this.myVariable = myVariable; // if you do not add this, the compiler won't know you are refering to the instance variable
}
public int getMyVariable() {
return this.myVariable; // here there is no possibility for confussion, you can delete this if you want
}
}
答案 4 :(得分:-1)
this
指的是您当前的实例类。 this
通常用于您的访问者。 E.g:
public void Sample{
private String name;
public setName(String name){
this.name = name;
}
}
请注意,this
用于指定类Sample
的变量名称,而不是方法{中的参数 {1}}。