此是一个保存当前对象的引用ID的变量。 那么为什么它不能用作参考变量?
Temp t = new Temp(); //Temp be any class
t.show(); //show() be any method in Temp
this.show(); // error
答案 0 :(得分:3)
如果您尝试从静态上下文中执行此操作,那么如果您所在的课程没有<%= @user_system.parts.each do |part| %>
<li><%= part.name%> by by <%= part.parts_user_system%></li></li>
<% end %>
方法或,则只会出现错误。
show()
保留当前对象的引用ID,因此它取决于您的位置,而不您刚刚创建的对象。
答案 1 :(得分:0)
当前对象不是您最后提到的对象。以下是this
用法的示例:
public class Temp {
private int x = 3;
public void show() {
this.x = 4;
this.show(); // same as show();
}
}
答案 2 :(得分:0)
&#34; this&#34; java中的关键字是引用运行代码的对象。 最有用的是比较自身内部的对象。例如:
public boolean equals(Object object) {
return object == this;
}
以下是另一段代码,可以帮助您理解:
public class Test {
public Test() {
}
public static void main(String... args) {
Test test = new Test();//original test object
Test test2 = new Test();
test.equals(test);//returns true
test.equals(test2);//returns false
}
public void equals(Test testParameter) {
// in this particular case "this" refers to the
// original test object (defined in the main method)
// as it is the only object calling this method.
return testParameter == this; // "this" is the object that is calling the method
}
}