关于Java深clone 的例子学习】的更多相关文章

之前http://www.cnblogs.com/lhppom/p/4857702.html里有提到关于Java的深克隆的学习,深浅区别就是在于仅复制对象引用和复制对象引用所指向的对象,最近在看<Java核心技术卷1>时,看到其中一个克隆的例子,这里再做个补充,其实现克隆的方式就是将对象中除数值或基本类以外的域再进行克隆,然后将引用给到新克隆的对象中所对应的域: public class Pet implements Cloneable{ String name; public Pet(Str…
1. clone类 public class Person implements Cloneable, Serializable{ /** * */ private static final long serialVersionUID = -1875488046285294760L; private String name; private String age; public String getName() { return name; } public void setName(Strin…
Java中的clone() 方法 java所有的类都是从java.lang.Object类继承而来的,而Object类提供下面的方法对对象进行复制. protected native Object clone() throws CloneNotSupportedException; 这个javabean必须实现一个标识接口,Cloneable,表明这个javabean支持复制,如果没有实现这个接口,而调用clone()方法,编译器就会抛出CloneNotSupportedException异常.…
20155322 2016-2017-2 <Java程序设计> 第一周学习总结 教材学习内容总结 本周学习内容的主要是: 一.浏览教材,根据自己的理解每章提出一个问题. 在浏览教材后,我提出了以下问题: 我们是否可以把API理解为已经标准化的"函数"?存于库中并在我们需要的时候进行调用? 过多的使用import声明会不会造成编译混乱? 类型转换从理论上来说并不安全,为什么编译程序会允许这样的编译方式,为什么不专门设置一种函数,让所有类型转换都通过这种函数进行提供安全性保证呢…
HT 是啥:Everything you need to create cutting-edge 2D and 3D visualization. 这口号是当年心目中的产品方向,接着就朝这个方向慢慢打磨,如今 HT 算是达到了这样的效果,谈不上用尽洪荒之力,但我们对产品结果很满意,特别是 HT 的用户手册,将例子和文档无缝融合一体,小小 10 来兆开发包居然包含了四十五份手册,数百个活生生的 HTML5 例子,还没体验过的同学可以点击 http://www.hightopo.com/guide/…
接着上一篇文章今天我们来介绍下LockSupport和Java中线程的中断(interrupt). 其实除了LockSupport,Java之初就有Object对象的wait和notify方法可以实现线程的阻塞和唤醒.那么它们的区别 是什么呢? 主要的区别应该说是它们面向的对象不同.阻塞和唤醒是对于线程来说的,LockSupport的park/unpark更符合这个语义,以“线程”作为方法的参数, 语义更清晰,使用起来也更方便.而wait/notify的实现使得“线程”的阻塞/唤醒对线程本身来说…
20145213<Java程序设计>第四周学习总结 教材学习内容总结 本周任务是学习面向对象的继承.接口以及之后的如何活用多态.(还真是路漫漫其修远兮啊!)教材也是延续上周艰深晦涩的语言风格,好在小生早有准备,利用重复出真知的原理,以时间换出一点点成果,与大家分享. 1.继承 继承的意义就是避免多个类间重复的共同行为.说白了,把两个或者多个类中重复的代码抓出来,附上新的类名称从而形成的类,我们称之为父类.子类利用extends关键词扩充父类的过程就是继承.如下代码所示,SwordsMan 继承…
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄老师半"放养"半"圈养"的教学方式与严格的教学要求却大大出乎我的意外.印象最深刻的是"一节课,20分钟上课20分钟考试"这句.OMG!但上课时间被考试压缩,利用课外时间自习就是一种弥补与自我补充了.正所谓"物竞天择,适者生存".比…
20145330<Java程序设计>第四周学习总结 一周两章新知识的自学与理解真的是很考验和锻炼我们,也对前面几章我们的学习进行了检测,遇到忘记和不懂的知识就再复习前面的,如此巩固也让我对之前的知识更深刻的理解了. 继承与多态 继承基本上就是避免多个类间重复定义共同行为 public class SwordsMan extends Role{ public void fight(){ System.out.println("挥剑攻击"); } } 这里看到新的关键词exte…
一.clone的概念 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象.所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象.那么在java语言中,有几种方式可以创建对象呢? 使用new操作符创建一个对象 使用clone方法复制一个对象 那么这两种方式有什么相同和不同呢? new操作符的本意是分配内存.程序执行到new操作符时, 首先去看new操作符后面的类型,因为知道了类型,才能知道要分配多大的内存空间.分配完内存之后,再…
1.浅复制与深复制概念⑴浅复制(浅克隆)被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象.换言之,浅复制仅仅复制所考虑的对象,而不 复制它所引用的对象. 1.为什么要重写clone()方法? 答案:Java中的浅度复制是不会把要复制的那个对象的引用对象重新开辟一个新的引用空间,当我们需要深度复制的时候,这个时候我们就要重写clone()方法. 2.为什么要重载equal方法? 答案:因为Object的equal方法默认是两个对象的引用的比较,意思就是指向…
HTML5 例子学习 HT 图形组件 HT 是啥:Everything you need to create cutting-edge 2D and 3D visualization. 这口号是当年心目中的产品方向,接着就朝这个方向慢慢打磨,如今 HT 算是达到了这样的效果,谈不上用尽洪荒之力,但我们对产品结果很满意,特别是 HT 的用户手册,将例子和文档无缝融合一体,小小 10 来兆开发包居然包含了四十五份手册,数百个活生生的 HTML5 例子,还没体验过的同学可以点击 http://www.…
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript学习笔记(3--this/call/apply) Java程序猿的JavaScript学习笔记(4--this/闭包/getter/setter) Java程序猿的JavaScript学习笔记(5--prototype) Java程序猿的JavaScript学习笔记(6--面向对象模拟) Java程…
Java中Clone的概念大家应该都很熟悉了,它可以让我们很方便的“制造”出一个对象的副本来,下面来具体看看java中的Clone机制是如何工作的?      1. Clone和Copy      假设现在有一个User对象,User u1=new User(“U1001”,“Jason”,25),通 常我们会有这样的赋值User u2=u1,这个时候只是简单了copy了一下reference,u2和u1都指向内存中同一个object,这样u2或者u1的一个操作都可能影响到对方.打个比方,如果我…
Java中的回调函数学习 博客分类: J2SE JavaJ#  一般来说分为以下几步: 声明回调函数的统一接口interface A,包含方法callback(); 在调用类caller内将该接口设置为私有成员private A XXX; 在caller内提供实现A接口的public方法(将外部该接口的实现类通过形参传入caller的XXX): caller的某个方法dosth()中会用到XXX.callback()方法; 在caller的实例中,先实现A接口,后调用dosth()方法: 网上流…
20155304 2016-2017-2 <Java程序设计>第四周学习总结 教材学习内容总结 第六章 继承: 概念: 面向对象中,为避免多个类间重复定义共同行为.(简单说就是将相同的程序代码提升为父类.) 特点: 这里接触到了新的关键词,extends,在java语言中用estends来继承父类的行为. is-a原则,在java中子类只能继承一个父类.要开始理解多态,必须先知道操作的对象是"哪一种". 多态,使用单一接口操作多种类型的对象. 在继承父类之后,定义与父类中相…
201521123061 <Java程序设计>第九周学习总结 1. 本周学习总结 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什么异常.需要捕获吗(为什么)?应如何避免? 经常出现ClassCastException类型转换的这种异常,需要捕获,这种异常是checked exception需要被检测到 可以通过try catch捕获到,当然了在写代码的时候就要想到可能出现的输入类型的情况,写好对应情…
201521123038 <Java程序设计> 第九周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什么异常.需要捕获吗(为什么)?应如何避免? ArrayIndexOutOfBoundsException,需要捕获.在编写代码测试的时候可能会发生数组越界,系统直接抛出错误并终止程序.通过捕获异常,输出异常提…
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与"*/"为多行批注符,编译程序会忽略"/*"与"*/"之间的内容.但不能将多个"/*"与"*/"嵌套使用. 在程序中写下一个浮点数时,编译程序默认使用double类型,如float PI = 3.14:会报错,要想避免…
20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办法 二.代码运行过程中出现的问题 问题1:在运行11.2时出现如下问题 解决方法:原因是java.util 和java.sql 包中都包括Date,如果将代码放到同一个文件中,需要在引入类库时具体到使用的Date包即可 问题2:在多次运行例子11.4时发现相同的数据又一次被添加到了数据库中,而按照代码中给出的…
20175209 2018-2019-2 <Java程序设计>第四周学习总结 教材知识点总结 1.子类和父类: 子类的继承性:子类与父类在同一包中——子类继承父类中不是private的变量 子类与父类不在同一包中——子类继承父类中不是private和友好类的变量 注意:当protected类型的变量使用时,只需要变量所在的子类与父类在同一包中即可,例如:类D 是类A的子类B 的子类C 的子类,只需要类A和类D在同一包中即可. 2.子类对象: 当子类对象中声明的成员变量被分配内存空间时,父类中的…
20175204 张湲祯 2018-2019-2<Java程序设计>第四周学习总结 教材学习内容总结 -第五章子类与继承要点: -子类与父类: 1.通过使用关键字extends来定义一个类的子类. 2.Object是所有类的祖先类. -子类的继承性: 1.子类继承父类的成员变量作为自己的一个成员变量. 2.Java不支持多重继承,即子类只能有一个父类. 3.子类与父类在同一包中,子类继承了不是private的成员变量和方法. 4.子类与父类不在同一包中,子类只继承父类中的protected和p…
20175204 张湲祯 2018-2019-2<Java程序设计>第一周学习总结 教材学习内容总结 -第一章Java入门要点: -Java的地位:具有面向对象,与平台无关,安全稳定和多线程等优良特性,是软件设计中优秀的编程语言. -Java的特点:简单,面向对象,平台无关. -JDK的安装:用来运行Java文件. -Java程序的开发步骤 -编写源文件:使用文本编辑器,扩展名 *.java. -编译源文件:使用指令javac编译源文件. -运行程序:Java解释器 java.exe. -教材…
20175226 2018-2019-2 <Java程序设计>第二周学习总结 教材学习内容总结 基本数据类型与数组 标识符与关键字 标识符不能是关键字.true.false.null.且第一个字符不能是数字字符 标识符字母区分大小写 基本数据类型 boolen.byte.short.char.int.long.float.double 类型转换运算 级别高的变量赋值到级别低的变量时,必须强制转换 输入,输出数据 Scanner System.out.println.System.out.pri…
目录 学号 20175313 <Java程序设计>第九周学习总结 一.教材学习内容总结 二.教材学习中的问题和解决过程 三.代码托管 四.心得体会 五.学习进度条 六.参考资料 学号 20175313 <Java程序设计>第九周学习总结 一.教材学习内容总结 第十一章主要内容 二.教材学习中的问题和解决过程 问题1:程序编译通过返回值也是正常的,但是输不出结果. 解决方法:我将这题与例1做了对照发现他就是把数据库的名字改为形参传入.按道理来说应该是有输出的啊.然后我就把形参DBNa…
20175208 2018-2019-2 <Java程序设计>第九周学习总结 一.教材学习内容总结: 第11章 JDBC与MySQL数据库 MySQL数据库管理系统 MySQL数据库管理系统,简称MySQL,是世界上最流行的开源数据库管理系统,其社区版(MySQL Community Edition)是最流行的免费下载的开源数据库管理系统. 下载安装后,进行启动MySQL数据库服务器,并建立连接,建立数据库,创建表等操作. 使用预处理语句: Connection和某个数据库建立了连接对象con…
# 20175126 2016-2017-2 <Java程序设计>第九周学习总结 ## 教材学习内容总结 - 本周学习方式主要为手动敲代码并理解内容学习. - 学习内容为教材第十一章,本章主要学习的是JDBC与MySQL数据库 - 第十一章主要内容有: -MySQL数据库管理系统 -MYSQL客户端管理工具 -JDBC -连接数据库 -查询操作 -更新.添加与删除操作 -使用预处理语句 -通用查询 -事务 -连接SQL Server数据库等 ## JDBC安装步骤 -首先要安装mysql,从书…
20165223 <JAVA程序设计>第一周学习总结 教材学习内容总结 通过网站JAVA第一章视频教程.教材.老师所给的教程及网上查询进行学习 第一章要点 JAVA地位和特点 地位:网络.语言.需求地位 特点:简单.面向对象.平台无关.动态 安装JDK 三个平台:JAVA SE.JAVA EE.JAVA ME JAVA集成开发环境:IntelliJ IDEA.MyEclipse.NetBean- 安装过程:下载安装包.安装.设置环境变量 JAVA应用程序开发步骤 编写源文件.编译源文件.运行程…
20165205 2017-2018-2 <Java程序设计>第一周学习总结 教材学习内容总结 java语言共有8种基本数据类型,分别是boolean.byte.short.char.int.long.float.double. 字符固定为两个字节,常量用单引号括起来,变量用char来声明. 再进行类型转换时要注意数据类型的精度和取值范围. 数组的声明.使用.初始化.引用. 运算符:x++.++x.>.<.==.^等. if条件分支语句:如果满足条件,则执行:否则,执行else内的…
20175317 <Java程序设计>第四周学习总结 教材学习内容总结 第四周我学习了教材第五章的内容,了解了子类与继承的知识,学到了以下内容: 明白了什么是子类与父类.类的树形结构. 子类和父类在同一包中.不在同一包中时的继承性. 子类与对象,子类对象的特点. 成员变量的隐藏与方法重写. 用super操作被隐藏的成员变量和方法:使用super调用父类的构造方法. final关键字的使用方法,final类与final方法的特点. 对象的上转型对象的用途. abstract类和abstract方…