0

我对 java 对象的创建有疑问。下面的代码表示 new 关键字和 this 关键字创建的对象是相同的。但是为什么我们不能在main方法中使用this关键字调用其他类的非静态方法,但是我们可以使用new关键字的对象引用在main方法中调用其他类的方法。输出与下面的代码相同,这意味着我认为两者创建的对象是相同的。

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

4

1 回答 1

0

this 关键字不会创建新对象。this 关键字引用类的当前实例。所以A5类下的这个关键字代表A5的一个实例->你只能使用这个关键字来调用A5方法。

于 2018-08-09T15:27:07.897 回答