Java 常用类库 之 对象的克隆 Cloneable

http://www.verejava.com/?id=16993097143799

/**
    知识点: 对象的克隆 Cloneable
*/
public class TestClone
{
    public static void main(String[] args) throws Exception
    {
        //实例化一只 喜洋洋
        Sheep sheep=new Sheep("喜洋洋","白色");

        //灰太狼 想克隆两只 喜洋洋 就可以大吃一顿
        Sheep s1=(Sheep)sheep.clone();
        Sheep s2=(Sheep)sheep.clone();

        //输出克隆的两种羊
        System.out.println(s1.getName());
        System.out.println(s2.getName());
    }
}
class Sheep implements Cloneable
{
    private String name;// 羊的名字
    private String color;//颜色

    public Sheep(String name,String color)
    {
        this.name=name;
        this.color=color;
    }
    public String getName()
    {
        return this.name;
    }
    public String getColor()
    {
        return this.color;
    }

    protected Object clone() throws CloneNotSupportedException
    {
        return super.clone();
    }

}

http://www.verejava.com/?id=16993097143799

原文地址:https://www.cnblogs.com/verejava/p/9216573.html

时间: 2024-08-01 23:30:39

Java 常用类库 之 对象的克隆 Cloneable的相关文章

Java常用类库之StringBuilder与StringBuffer

String与StringBuffer与StringBuilder的比较 String的内容一旦声明则不可改变,如果改变,则改变的肯定是String的引用地址. StringBuffer则是有个字符缓冲区,所有的操作都是对字符缓冲区中操作.与StringBuilder类似. 1. 在执行速度方面的比较:StringBuilder > StringBuffer 2. StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在一

Google的Java常用类库 Guava资料

java的人应该都知道Apache commons的java常用类库吧,这个Guava和commons一样,封装出一套比jdk本身提供的常用类库强大.既然有了这个这么强大的类库,我们就没必要重复造轮子了.这东西怎么用,看看官网的文档和API.英文不好的,也有网上翻译出来共享的.开始Guava之旅猛击下面的链接 官方地址:http://code.google.com/p/guava-libraries/  [大家都知道这个要FQ哦,windows下推荐ziyoumen软件] 官方翻译文档:http

Google的Java常用类库 Guava

Guava 中文是石榴的意思,该项目是 Google 的一个开源项目,包含许多 Google 核心的 Java 常用库. 1. 基本工具 [Basic utilities] 让使用Java语言变得更舒适 1.1 使用和避免null:null是模棱两可的,会引起令人困惑的错误,有些时候它让人很不舒服.很多Guava工具类用快速失败拒绝null值,而不是盲目地接受 1.2 前置条件: 让方法中的条件检查更简单 1.3 常见Object方法: 简化Object方法实现,如hashCode()和toSt

关于对象的克隆Cloneable

突然看到了对象克隆这个东西, 又看了看它是Object类中的 native 方法, 感觉能提高程序的运行效率. 就来研究研究这个东西. part I.简单说一下对象的克隆 平时我们使用对象的时候, 只要拿到这个对象的引用, 引用者就可以随便修改对象中的属性(首先对象有对外的getter&setter方法), 有时候, 我们想让调用者获得该对象的拷贝(也就是一个内容完全相同的对象,但是在内存中存在两个这样的对象)? 有什么方法能解决这个呢? 1. 重新 new 一个对象, 然后给对象的每个属性重新

JAVA常用类库简介(转)

Java编程语言中为方便学习者学习,编制了许多类,这些类已经经过测试,都是我们编程的基础.如果不利用这些已存在的类,我们的编程工作将变得异常复杂并且效率低下.所以我们应尽可能多的掌握Java基本类库的内容.类库中的类按照其用途归属于不同的包中. 1.java.lang包 java.lang包 是Java中最常用的包,程序不需要注入,就可以使用该包中的类,利用包中的类可以设计最基本的Java程序. 2.java.awt包 java.awt包中的类提供了图形界面的创建方法,包括按钮.文本框.列表框.

第08章:java常用类库

本章主要内容: 1. API概述 2.  常用类: Object类/Scanner类 String类/StringBuffer类/StringBuilder类 数组高级和Arrays类 基本类型包装类(Integer,Charater) 正则表达式(Pattern,Matcher) Math类/Random类/System类 BigInteger类/BigDecimal类 Date类/DateFormat类/Calendar类 2:API的概述(了解) (1)应用程序编程接口. (2)就是JDK

Java面向对象_常用类库api——对象比较器

概念:对两个或多个数据项进行比较,以确定他们是否相等,或确定他们之间的大小关系及排列顺序成为比较. 1.Comparable接口: 此接口强行对实现它的每个类的对象进行整体排序.这种排序被称为类的自然排序,类的compareTo方法被称为它的自然比较方法. 1 public class ComparableDemo { 2 3 /** 4 * @param args 5 */ 6 public static void main(String[] args) { 7 // TODO Auto-ge

Java常用类库之时间操作类——Date、Calendar、DateFormat、SimpleDateFormat及实例操作

学习目标 掌握Date类的使用 可以使用Calendar类取得一个完整的日期 掌握日期格式化的操作 可以使用SimpleDateFormat进行日期的格式化转换操作 编写取得日期的操作类 进一步掌握Calendar类的使用 进一步掌握SimpleDateFormat类的使用 Date类是一个较为常用的类,但是其操作的日期格式会有一些不符合个人要求,而如果想要进一步取得一些自己需要的时间,则可以使用Calendar类. Date类 在java.util包中定义了Date类,Date类本身使用非常简

java常用类库

1.StringBuffer StringBuffer是使用缓冲区的,本身也是操作字符串的,但与String不同,String类的内容一旦声明之后则不可改变,改变的只是其内存地址的指向,而StringBuffer中的内容可以改变. 对StringBuffer而言,本身是一个具体的操作类,所以不能像String那样采用直接赋值的方式进行对象的实例化,必须通过构造方法完成. StringBuffer类的应用:频繁修改字符串的内容,用String类是不合适的,此时应该用StringBuffer. 2.