A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

罗森内里

中级黑马

  • 黑马币:39

  • 帖子:22

  • 精华:0

package object_method;
public abstract class Student implements Cloneable{
    private int age;
    private String name;
    public String profession="学生";
    public Student(){}
    public Student(int age,String name){
        this.age=age;
        this.name=name;
    }   
    public void show(){
        System.out.println("姓名:"+name+" 年龄:"+age+" 职业:"+profession);
    }
    public abstract void learn();
    @Override
    protected Object clone() throws CloneNotSupportedException {
        // TODO Auto-generated method stub
        return super.clone();
    }
    @Override
    public String toString() {
        return "Student [age=" + age + ", name=" + name + ", profession="
                + profession + "]";
    }   
}
package object_method;
public class HighSchoolStudent extends Student{
    public HighSchoolStudent(){}
    public HighSchoolStudent(int age,String name){
        super(age,name);
    }
    @Override
    public void learn() {
        // TODO Auto-generated method stub
        System.out.println("高中生学基础知识");
    }
}
package object_method;
public class StudentDemo {

    /**
     * @param args
     * @throws CloneNotSupportedException
     * @throws Throwable
     */
    public static void main(String[] args) throws CloneNotSupportedException{
        // TODO Auto-generated method stub
        Student s=new HighSchoolStudent(16,"Tony");
        System.out.println("被克隆学生s:");
        s.show();
        s.learn();
        System.out.println(s.toString());
        System.out.println("哈希码值:"+s.hashCode());
        System.out.println("--------------------");
        System.out.println("现在开始克隆");
        System.out.println("--------------------");
        Object obj=s.clone();
        Student s2=(Student)obj;
        System.out.println("克隆学生s2:");
        s2.show();
        s2.learn();
        System.out.println("哈希码值:"+s2.hashCode());
        System.out.println("-------------------");
        System.out.println("学生s的镜像:");
        Student s3=new HighSchoolStudent();
        System.out.println("哈希码值:"+s3.hashCode());
        s3=s;
        s3.show();
        s3.learn();
        System.out.println("哈希码值:"+s3.hashCode());
        System.out.println("-------------------");
        System.out.println("s2是s:"+s.equals(s2));
        System.out.println("s3是s:"+s.equals(s3));
        System.out.println("-------------------");
        Student s4=new HighSchoolStudent();
        System.out.println("哈希码值:"+s4.hashCode());
    }
}
运行后输出如下

被克隆学生s:
姓名:Tony 年龄:16 职业:学生
高中生学基础知识
Student [age=16, name=Tony, profession=学生]
哈希码值:23668144
--------------------
现在开始克隆
--------------------
克隆学生s2:
姓名:Tony 年龄:16 职业:学生
高中生学基础知识
哈希码值:2719739
-------------------
学生s的镜像:
哈希码值:9523050
姓名:Tony 年龄:16 职业:学生
高中生学基础知识
哈希码值:23668144
-------------------
s2是s:false
s3是s:true
-------------------
哈希码值:32820206





QQ截图20160702232453.png (184.78 KB, 下载次数: 15)

QQ截图20160702232453.png

4 个回复

倒序浏览
谢谢分享
回复 使用道具 举报
2640913704 来自手机 初级黑马 2016-7-3 14:11:52
藤椅
不错了
回复 使用道具 举报
顶!!!!!!!!!!!
回复 使用道具 举报
不错,点个赞
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马