易截截图软件、单文件、免安装、纯绿色、仅160KB

Java clone机制

1、 Java对象赋值
Java代码
Employee e1=
new
 Employee(
"李"
); 
//Employee是一个自定义类 
  
Employee e2=e1; //赋值对象 
  
e2.setName("王"
);
//改变对象e2的名字 
  
System.out.println(e1.getName()); //打印e1的结果: 王  
  
Employee e1=new Employee("李"); //Employee是一个自定义类
Employee e2=e1; //赋值对象
e2.setName("王");//改变对象e2的名字
System.out.println(e1.getName()); //打印e1的结果: 王
     
这就是Java的对象赋值,改变e2的内容竟然会影响e1的内容。原因很简单,就是e1和e2这两个对象引用都指向了堆中同一个Employee类对象的
内容。也就是说:
Java的对象赋值的是引用(相当于C的指针)。如何让e1,e2成为内容相同的两个完全不同的对象呢,这就需要用到Java的对象克隆机制(将e2复制
成e1的一个独立副本)。
2、 Java对clone的支持
     (1) 继承Object的clone方法的疑问?
          有一点我们很清楚,Java的万类之祖Object中有一个clone()方法:   
           protected
native Object clone() throws CloneNotSupportedException
          既然这个方法是protected的,显然是为了让子类能够使用。看看下面的代码:
Java代码
//Employee类中没有clone方法,也没有实现Cloneable接口
  
Employee original=new
 Employee(
"John Public"
);  
Employee copy=original.clone(); //wrong
  
//Employee类中没有clone方法,也没有实现Cloneable接口
Employee original=new Employee("John Public");
Employee copy=original.clone(); //wrong
                有人会提出这样的疑问:不是所有的类都是Object的子类吗?不是所有的子类都可以访问受保护的方法吗

毫无疑问,这两句提问没有任何错误。但是有一点必须搞清楚:你是否


相关文档:

Java线程控制的图像分割与合成

Java是一种面向对象的编程语言。它具有与平台无关、面向对象、动态、安全等特点,允许直接使用多线程方式进行编程,对程序进行并发控制。Java还支持分布式网络操作,从而能够方便地进行网络文件对象的存取。利用Java语言本身提供的绘图功能,可以绘制一些简单的图形。而对于复杂图形,一般先用绘图软件制成图像,然后采用Ja ......

JAVA培训题库 AJAX

1.AJAX基础知识_选择题
1. Ajax有四种技术组成:DOM,CSS,JavaScript,XmlHttpRequest中控制文档结构的是:( )
A  DOM
B  CSS
C  javascript   
D  XMLHttpRequest
参考答案:A
2. 在Ajax的四种技术中,控制通信的是哪一个?( )
A  DOM
B  CSS
C  javasc ......

JAVA培训题库 Struts

1. Struts体系结构实现了MVC设计模式的概念,那么它将以下选项中给出的什么分别映射为web应用中的组件?( )
A  View
B  Model
C  ActionServlet
D  Action
E  ActionMapping
F  Controller
参考答案:ABF
2. 在Struts体系结构中,以下哪个由代表系统状态和商业逻辑的Action来构建 ......

关键词过滤实现(JAVA TXT)

http://51jsp.cn/post/23.html
现在做网站首先考虑一点就是不能在自己的网站中出现非法的东西,包括一些敏感的词。现在我们就来简单的实现它,为了查找的快速在这用txt来保存这些非法的关键词。这个TXT文档是在网上找到,现在传上来200907261131128065.rar
用JAVA程序实现简单的添加验证关键词,如果大家要实际中使用,添 ......

java上传


public boolean copy(String from, String to) {
  boolean temp=true;
  FileInputStream stream;
  try {
   stream = new FileInputStream(new File(from));
   FileOutputStream bos = new FileOutputStream(to);
   int bytesRea ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号