我对Java对象创建有疑问。下面的代码表明,由new关键字创建的对象与此关键字相同。但是为什么不能在主方法中使用此关键字来调用其他类的非静态方法,却可以在主方法中使用new关键字的对象引用来调用其他类的方法。 输出与以下代码相同,这意味着我认为两者创建的对象相同。
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
答案 0 :(得分:0)
此关键字不会创建新对象。此关键字引用类的当前实例。所以 此关键字在类A5下代表A5的实例->您只能使用此关键字来调用A5方法。