以相同类型的一个对象初始化另一个对象

classC代码:

package jichu;

public class ClassC {
    private int s1;
    private int s2;

    public ClassC(int s1, int s2) {
        this.s1 = s1;
        this.s2 = s2;
    }

    public ClassC(ClassC c) {
        this.s1 = c.s1;
        this.s2 = c.s2;
        c.s1++;
        c.s2++;
    }

    public String toString() {
        return "s1:" + s1 + ";s2:" + s2;
    }
}

调用:

package jichu;

public class MainClass {
    public static void main(String[] args) {
        ClassC c1 = new ClassC(1, 2);
        ClassC c2 = new ClassC(c1);
        System.out.println(c1);
        System.out.println(c2);
    }
}

打印:

s1:2;s2:3
s1:1;s2:2

以相同类型的一个对象初始化另一个对象时,因为在类中,所以可以直接访问私有的成员变量。

    public ClassC(ClassC c) {
        this.s1 = c.s1;
        this.s2 = c.s2;
        c.s1++;
        c.s2++;
    }

 

posted @ 2016-12-23 18:06  SQP51312  阅读(649)  评论(0编辑  收藏  举报