public class MultipleObjects {
    int a;
    int b;

    MultipleObjects(int a,int b) {
        this.a=a;
        this.b=b;
    }

    MultipleObjects(MultipleObjects g) {
        a=g.a;
        b=g.b;
    }

    static MultipleObjects display(/*MultipleObjects o1,MultipleObjects o2*/) {
        MultipleObjects temp = new MultipleObjects(new MultipleObjects(2,3));
        return temp;
    }
}


我在这里使用了两个新的语句。外部新语句的括弧是什么?值还是对象。如果是对象,怎么办?有人可以详细解释吗?

最佳答案

首先,使用以int, int为参数的构造函数创建了一个新的MultipleObjects,然后调用另一个构造函数(AKA复制构造函数),将新创建的对象传递给它。
您的密码

MultipleObjects temp = new MultipleObjects(new MultipleObjects(2,3));


相当于

MultipleObjects foo = new MultipleObjects(2,3);
MultipleObjects temp = new MultipleObjects(foo);

关于java - 使用新语句将值传递给构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27629883/

10-11 04:13