RSS订阅欢迎来到Java程序员学习天地!
你的位置:首页 » 每日一题 » 正文

每日一题之20170516

选择字号: 超大 标准 发布时间:2017年05月12日 | 作者:amour505 | 0个评论 | 142人浏览

每日一题之20170515答案:输出id:0,color:white    id:1,color:white   c2中第二只猫颜色被改成白色后,也会影响到c1中的第二只猫。这是浅拷贝问题。之前也有提过类似问题,通过copyOf方法产生的数组是一个浅拷贝,也就是说c2[1]和c1[1]指向是相同的。解决方法就是在遍历c1中的每个元素时,重新生成一个cat对象,并放置到c2数组中。

package mypkg;

import java.io.Serializable;

public class Test {
    public static void main(String[] args) {  
        Car c = new BMWCar("BMW5系", "黑色");
         System.out.println(c);  
    }  
}



class Car implements Serializable{  
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    String name;  

    public Car(String name) {  
        super();  
        this.name = name;  
    }  
  
    public String toString(){  
        return "name:"+name;  
    }  
}  
  
class BMWCar extends Car{  
  
    String color;  
    public BMWCar(String name, String color) {  
        this.name = name;  
        this.color = color;  
    }  
  
    public String toString(){  
        return "name:"+name+", color:"+color;  
    }  
}  

输出结果?


标签:每日一题Java基础

额 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

控制面板
您好,欢迎到访网站!
随机文章
热门文章
热评文章
最近发表