- 浏览: 585497 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (423)
- windows2003 (1)
- exception (3)
- java (91)
- eclipse (14)
- java web (3)
- javaScript (11)
- 装机 (1)
- sql (34)
- outlook (1)
- html (8)
- JAVA 不同区域服务器引起的乱码解决 (2)
- strtus (3)
- http (1)
- 设计模式 (4)
- Java对存储过程的调用方法 (0)
- java-数据库操作 (0)
- jdbc (7)
- dwr (2)
- 软件版本号 (1)
- jxls (1)
- ExtJS (3)
- Ajax (1)
- git (12)
- linux (20)
- mysql (14)
- maven (16)
- easyui (1)
- 日常备注 (1)
- spring (9)
- others (1)
- windows快捷键 (1)
- 工作备注 (9)
- 工作杂项 (0)
- photoshop (1)
- 开发环境配置 (0)
- jboss (1)
- 报表 (1)
- 图表 (1)
- fckeditor (1)
- 调试bug (2)
- 口令 (1)
- css (2)
- mongodb (7)
- restful (1)
- jsp (5)
- jpa (2)
- bug (1)
- js (2)
- Json (1)
- POI (1)
- xml (2)
- webstorm (1)
- java swing (1)
- ubuntu (3)
- mongo (27)
- 自我学习 (0)
- 草稿 (0)
- 单元测试 (1)
- 数据库 (2)
- ide (1)
- 大数据 (0)
- uml (1)
- spring-boot (1)
- mybatis (3)
- oracle (2)
- jetty (1)
- 学习 (0)
- 系统调优 (1)
- tomcat (2)
- kettle (1)
- 学习资源 (1)
- 架构 (2)
- database (4)
- idea (1)
- consul (1)
- hadoop (2)
- nginx (3)
- 认证 (1)
- 加密 (1)
- connection pool (1)
- loadrunner (1)
- tps (1)
- 翻墙工具 (1)
- redis (2)
- redis jedis shardjedis (1)
- spring boot (1)
- 认证授权 (1)
- ssh (1)
- svn (2)
- 多线程 (1)
最新评论
-
abcdeudi:
不错
接口和抽象类什么时候使用才合适? -
羽翼的心动:
POI中对Word处理,读取不到书签。如果要处理书签的话,就只 ...
POI根据模板(excel表头)导出excel -
pdf1192012:
高质量文章
接口和抽象类什么时候使用才合适? -
沐忆潼:
...
POI根据模板(excel表头)导出excel -
422937561:
高质量文章
接口和抽象类什么时候使用才合适?
一)
在Java中,传参时,都是以传值的方式进行。
对于基本数据类型,传递的是数据的拷贝;对于引用类型,传递的引用的拷贝。
二)
为了获取对象的一份拷贝,我们可以利用Object类的clone()方法。
在派生类中覆盖基类的clone()方法,并声明为public。
在派生类的clone()方法中,调用super.clone()。
在派生类中实现Cloneable接口。
三)为什么我们在派生类中覆盖Object的clone()方法时,一定要调用super.clone()呢?
在运行时刻,Object中的clone()识别出你要复制的是哪一个对象,然后为此对象分配空间,并进行对象的复制,将原始对象的内容一一复制到新对象的存储空间中。
四)
摘自:孙鑫老师java视频
在Java中,传参时,都是以传值的方式进行。
对于基本数据类型,传递的是数据的拷贝;对于引用类型,传递的引用的拷贝。
二)
为了获取对象的一份拷贝,我们可以利用Object类的clone()方法。
在派生类中覆盖基类的clone()方法,并声明为public。
在派生类的clone()方法中,调用super.clone()。
在派生类中实现Cloneable接口。
三)为什么我们在派生类中覆盖Object的clone()方法时,一定要调用super.clone()呢?
在运行时刻,Object中的clone()识别出你要复制的是哪一个对象,然后为此对象分配空间,并进行对象的复制,将原始对象的内容一一复制到新对象的存储空间中。
四)
class StringTest { public static void change(int x,int y) { x=x+y; y=x-y; x=x-y; } public static void change(int[] num) { num[0]=num[0]+num[1]; num[1]=num[0]-num[1]; num[0]=num[0]-num[1]; } public static void change(Point pt) { pt.x=pt.x+pt.y; pt.y=pt.x-pt.y; pt.x=pt.x-pt.y; } public static void main(String[] args) { /*int x=3; int y=4; change(x,y); System.out.println("x="+x+","+"y="+y);*/ /*int[] num=new int[]{3,4}; change(num); System.out.println("x="+num[0]+","+"y="+num[1]);*/ /*Point pt=new Point(); pt.x=3; pt.y=4; change(pt); //System.out.println("x="+pt.x+","+"y="+pt.y); System.out.println(pt);*/ //System.out.println(args[0]); /*if(args.length>0) { for(int i=0;i<args.length;i++) { System.out.println(args[i]); } }*/ /*String str1=new String("abc"); String str2=new String("abc"); String str3=str1;*/ /*if(str1==str2) { System.out.println("str1==str2"); } else { System.out.println("str1!=str2"); }*/ /*if(str1==str3) { System.out.println("str1==str3"); } else { System.out.println("str1!=str3"); }*/ /*if(str1.equals(str2)) { System.out.println("str1 equals str2"); } else { System.out.println("str1 not equals str2"); }*/ /*int i=3; float f=1.5f; char ch='f'; boolean b=false; //System.out.println(str1+i+f+ch+b); StringBuffer sb=new StringBuffer(); sb.append(str1).append(i).append(f).append(ch).append(b); //System.out.println(sb.toString()); sb.delete(4,8); sb.insert(4,"mybole"); System.out.println(sb);*/ /*int[] num=new int[3]; for(int i=0;i<num.length;i++) { System.out.println(num[i]); } num=null;*/ /*Student[] students; students=new Student[3]; for(int i=0;i<students.length;i++) { System.out.println(students[i]); }*/ Professor p=new Professor("wangwu",50); Student s1=new Student("zhangsan",18,p); Student s2=(Student)s1.clone(); /*s2.name="lisi"; //对于引用类型,调用clone()方法时,拷贝的是引用地址;String 比较特殊, //因为String是常量,会在内存中另外分配一块内存 s2.age=20;*/ s2.p.name="lisi"; s2.p.age=30; //System.out.println("name="+s1.name+","+"age="+s1.age); System.out.println("name="+s1.p.name+","+"age="+s1.p.age); } } class Professor implements Cloneable { String name; int age; Professor(String name,int age) { this.name=name; this.age=age; } public Object clone() { Object o=null; try { o=super.clone(); } catch(CloneNotSupportedException e) { System.out.println(e.toString()); } return o; } } class Student implements Cloneable { String name; int age; Professor p; Student(String name,int age,Professor p) { this.name=name; this.age=age; this.p=p; } public Object clone() { //Object o=null; Student o=null; try { o=(Student)super.clone(); } catch(CloneNotSupportedException e) { System.out.println(e.toString()); } o.p=(Professor)p.clone(); return o; } } class Point { int x,y; public String toString() { return "x="+x+","+"y="+y; } }
摘自:孙鑫老师java视频
发表评论
-
文件上传
2017-02-05 09:47 408文件上传模块 -
@ModelAttribute注解的使用
2017-01-09 23:13 538https://my.oschina.net/u/176085 ... -
数组合并和判断数组包含某个元素
2017-01-09 23:10 537http://www.iteye.com/news/28296 ... -
项目创建流程
2017-01-09 23:06 403http://lion.newtouch.com/pages/ ... -
mysql 出现很多连接 sleep 问题
2017-01-09 23:00 708http://blog.csdn.net/lin_credib ... -
spring boot 学习
2016-11-28 17:05 382http://412887952-qq-com.iteye.c ... -
jxls excel上传数据
2016-11-22 15:27 553http://jxls.sourceforge.net/ref ... -
veloctiyengine gettemplate jsonobject.fromobject
2016-11-18 10:41 0/** 53. * test User 54. ... -
HDFS客户端的权限错误:Permission denied
2016-08-09 01:55 630http://www.linuxidc.com/Linux/2 ... -
java map中的key为object
2016-08-08 11:18 529http://zhidao.baidu.com/link?ur ... -
jdbc pool
2016-07-26 14:50 408[url]C:\Users\lwx328240\Desktop ... -
java 域是指什么
2016-07-15 15:36 532http://blog.csdn.net/iaiti/arti ... -
java jdbc/ojdbc 链接oracle的三种方式
2016-07-12 14:50 579http://blog.itpub.net/22664653/ ... -
java 编译器 解释器
2016-06-28 14:45 7150) javac 编译器 用于将java源代码文件编译成字节码 ... -
linux查看cpu、内存、版本信息
2016-06-24 21:44 542http://blog.chinaunix.net/uid-2 ... -
重定向控制台System.out.println输出到文件,再重定向回控制台
2016-06-24 20:18 510http://blog.csdn.net/jason_deng ... -
java 代码点 代码单元
2016-06-24 09:38 723http://blog.csdn.net/weizhaozhe ... -
java 日期
2016-06-24 09:39 349http://kingquake21.iteye.com/bl ... -
jdbc addBatch
2016-06-23 22:08 403http://www.360sdn.com/java/2014 ... -
java中的arrayList(动态数组)与静态数组
2016-06-21 20:26 948http://www.2cto.com/kf/201206/1 ...
相关推荐
Java中的对象克隆可以通过实现`Cloneable`接口并覆盖`clone()`方法来完成。对象的克隆分为浅拷贝和深拷贝两种形式。 **1. 浅拷贝** 浅拷贝是指创建一个新的对象,然后将原对象的所有非引用类型的成员变量复制到新...
在Java中,`clone`方法提供了一种快速复制对象的方式。它属于`Object`类的一部分,但需要显式地在子类中声明并实现`Cloneable`接口才能正常使用。本文将详细介绍`clone`的基本概念、工作原理以及如何实现浅拷贝和深...
Java中的clone方法详解_动力节点Java学院,动力节点口口相传的Java黄埔军校
在Java编程语言中,克隆(Clone)机制是一种创建对象副本的方法,它允许开发者创建一个已有对象的新实例,这个新实例与原对象具有相同的属性值,但却是两个独立的对象,彼此的操作不会互相影响。克隆机制在某些情况...
在Java中,`clone`方法主要用于创建一个现有对象的副本,这个副本与原始对象具有相同的数据值。这个方法是Object类的一个成员,因此所有的Java类都默认拥有`clone`方法。不过,需要注意的是,`clone`方法并不执行深...
详细的描述了Java中 clone方法使用
本复习笔记结合了宋红康老师的教学视频,并融入了个人的学习理解和实践,旨在帮助学习者巩固Java的核心概念和技术。 一、Java基础语法 Java的基础语法是编程的基石,包括变量声明、数据类型(如整型、浮点型、字符...
本教程将深入探讨Java中的数组、方法以及面向对象编程的基础概念,为初学者提供一个全面的学习指南。 一、数组 数组在Java中是存储同一类型数据的集合,可以看作是一个可变大小的容器。数组的定义和初始化通常包含...
Linux学习笔记——入门资料 Linux,作为一款开源、免费的操作系统,因其稳定性和安全性而备受开发者和系统管理员的青睐。这份“Linux学习笔记”旨在帮助初学者快速掌握Linux的基础知识和操作技能,从而轻松入门。 ...
在Java编程语言中,`clone()`方法是一个非常重要的概念,特别是在对象复制和克隆方面。这个方法来源于`java.lang.Object`类,所有Java类都默认继承了这个方法。本资料"Java中clone方法共6页.pdf.zip"可能包含了关于...
在Java编程语言中,`clone()`方法是一个非常重要的概念,特别是在对象复制和克隆方面。这个小例子将帮助初学者理解如何在Java中使用`clone()`来创建对象的副本。让我们深入探讨`clone()`方法以及它在实际编程中的...
这份"java软件开发——顶岗实习周记25篇.pdf"文档,很可能是某个学生或初入职场的开发者在Java实习期间所记录的工作与学习心得,提供了宝贵的实战经验与反思。 首先,Java作为全球最流行的编程语言之一,其语法严谨...
### Java考试复习资料详解 #### 一、架构模式:B/S与C/S - **B/S架构**(Browser/Server,浏览器/服务器)是一种通过Web浏览器进行访问的应用系统架构。客户端只需要一个Web浏览器即可,无需安装任何软件。所有的...
- Item11:谨慎覆盖clone方法,因为它涉及到对象的深拷贝,可能需要实现`Cloneable`接口并处理异常。 - Item12:实现Comparable接口使对象能够自我比较,这对于排序和集合操作非常有用。 5. **类和接口的设计** ...
-java 创建对象的四种方法是指在 Java 中创建对象的不同方式,它们分别是使用 new 语句创建对象、使用反射机制创建对象、使用 clone() 方法创建对象和使用反序列化机制创建对象。 - 使用 new 语句创建对象是 Java ...
Java 语言程序设计基础课后复习题答案第十三章 ...Java 语言程序设计基础课后复习题答案第十三章涵盖了 Java 语言的基础知识、对象和类、多态、接口、异常处理、日期和时间、compareTo 方法和 clone 方法等重要知识点。
### CoreJava学习笔记 #### 一、JAVA特点与运行原理 **JAVA特点:** 1. **简单性**:Java的设计者们将C++语言中许多不易理解和容易混淆的部分去除,使得Java更容易理解与掌握。 2. **面向对象**:Java几乎一切都...
在这篇文章中,我们将学习如何使用 C# 中的 Clone 方法来复制一个对象的值到另一个对象。 什么是 Clone? Clone 是一种复制对象的方法,它可以将一个对象的值复制到另一个对象中。 Clone 方法可以分为浅复制和深...
Java中的`clone`方法是Java语言提供的一种复制对象的方式,它允许创建一个对象的副本,这个副本与原对象具有相同的属性值,但它们是两个独立的对象,修改副本不会影响原对象。`clone`方法存在于Java的`java.lang....