使用 new 关键字和 this 关键字创建的对象之间的区别
Difference between object created with new keyword and this keyword
我对 java 对象创建有疑问。下面的代码表示 new 关键字和 this 关键字创建的对象是相同的。但是为什么不能在main方法中使用this关键字调用otherclass的非静态方法,而在main方法中可以使用new关键字的对象引用调用otherclass的方法。
输出与下面的代码相同,这意味着我认为两者创建的对象相同。
class A5 {
void m() {
System.out.println(this); //prints same reference ID
}
public static void main(String args[]) {
A5 obj=new A5();
System.out.println(obj); //prints the reference ID
obj.m();
}
}
output: A5@22b3ea59
A5@22b3ea59
此关键字不创建新对象。 this 关键字引用 class 的当前实例。所以
this 关键字在 class A5 代表 A5 的实例 -> 你只能使用 this 关键字来调用 A5 方法。
我对 java 对象创建有疑问。下面的代码表示 new 关键字和 this 关键字创建的对象是相同的。但是为什么不能在main方法中使用this关键字调用otherclass的非静态方法,而在main方法中可以使用new关键字的对象引用调用otherclass的方法。 输出与下面的代码相同,这意味着我认为两者创建的对象相同。
class A5 {
void m() {
System.out.println(this); //prints same reference ID
}
public static void main(String args[]) {
A5 obj=new A5();
System.out.println(obj); //prints the reference ID
obj.m();
}
}
output: A5@22b3ea59
A5@22b3ea59
此关键字不创建新对象。 this 关键字引用 class 的当前实例。所以 this 关键字在 class A5 代表 A5 的实例 -> 你只能使用 this 关键字来调用 A5 方法。