java clone ½âÎö
ת×Ô£ºhttp://ttitfly.javaeye.com/blog/155422
1.javaÀïµÄclone·ÖΪ£º
A:dz¸´ÖÆ£¨Ç³¿Ë¡£©: dz¸´Öƽö½ö¸´ÖÆËù¿¼ÂǵĶÔÏ󣬶ø²»¸´ÖÆËüËùÒýÓõĶÔÏó¡£
b:ÉÖÆ£¨Éî¿Ë¡£©£ºÉÖÆ°ÑÒª¸´ÖƵĶÔÏóËùÒýÓõĶÔÏ󶼸´ÖÆÁËÒ»±é¡£
JavaÖжÔÏóµÄ¿Ë¡,ΪÁË»ñÈ¡¶ÔÏóµÄÒ»·Ý¿½±´£¬ÎÒÃÇ¿ÉÒÔÀûÓÃObjectÀàµÄclone()·½·¨¡£±ØÐëÒª×ñÑÏÂÃæÈýµã
1.ÔÚÅÉÉúÀàÖи²¸Ç»ùÀàµÄclone()·½·¨£¬²¢ÉùÃ÷Ϊpublic¡¾ObjectÀàÖеÄclone()·½·¨ÎªprotectedµÄ¡¿¡£
2.ÔÚÅÉÉúÀàµÄclone()·½·¨ÖУ¬µ÷ÓÃsuper.clone()¡£
3.ÔÚÅÉÉúÀàÖÐʵÏÖCloneable½Ó¿Ú¡£
ObjectÀàÀïµÄclone·½·¨ÊÇdz¸´ÖÆ£¨Ç³¿Ë¡£©
1.dz¸´ÖÆ£¨Ç³¿Ë¡£©µÄÀý×ÓÈçÏ£º
package com.test;
//dz¸´ÖÆ£¨Ç³¿Ë¡£©: dz¸´Öƽö½ö¸´ÖÆËù¿¼ÂǵĶÔÏ󣬶ø²»¸´ÖÆËüËùÒýÓõĶÔÏó¡£
//ÉÖÆ£¨Éî¿Ë¡£©£ºÉÖÆ°ÑÒª¸´ÖƵĶÔÏóËùÒýÓõĶÔÏ󶼸´ÖÆÁËÒ»±é¡£
//
//JavaÖжÔÏóµÄ¿Ë¡,ΪÁË»ñÈ¡¶ÔÏóµÄÒ»·Ý¿½±´£¬ÎÒÃÇ¿ÉÒÔÀûÓÃObjectÀàµÄclone()·½·¨¡£±ØÐëÒª×ñÑÏÂÃæÈýµã
//1.ÔÚÅÉÉúÀàÖи²¸Ç»ùÀàµÄclone()·½·¨£¬²¢ÉùÃ÷Ϊpublic¡¾ObjectÀàÖеÄclone()·½·¨ÎªprotectedµÄ¡¿¡£
//2.ÔÚÅÉÉúÀàµÄclone()·½·¨ÖУ¬µ÷ÓÃsuper.clone()¡£
//3.ÔÚÅÉÉúÀàÖÐʵÏÖCloneable½Ó¿Ú¡£
//[color=red]ObjectÀàÀïµÄclone·½·¨ÊÇdz¸´ÖÆ£¨Ç³¿Ë¡£©[/color]public class CloneTest {
public static void main(String[] args) throws Exception{
//teacher¶ÔÏ󽫱»clone³öÀ´µÄStudent¶ÔÏó¹²Ïí.
Teacher teacher = new Teacher();
teacher.setAge(40);
teacher.setName("Teacher zhang");
Student student1 = new Student();
student1.setAge(20);
student1.setName("zhangsan");
student1.setTeacher(teacher);
//¸´ÖƳöÀ´Ò»¸ö¶ÔÏóstudent2
Student student2 = (Student)student1.clone();
System.out.println(student2.getAge());
System.out.println(student2.getName());
System.out.println("~~~~~~~~~~~~~~~~~~~~~~");
System.out.println(student1.getTeacher().getAge());
System.out.println(student1.getTeacher().getName());
//ÐÞ¸Ästudent2µÄÒýÓöÔÏó
student2.getTeacher().setAge(50);
student2.getTeacher().setName("Teacher Li");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~");
System.out.println(student1.getTeacher().getAge());
S
Ïà¹ØÎĵµ£º
×÷Ϊһ¸öJava³ÌÐòÔ±£¬ÎÒÃdz£³£»áÆĸÐ×ÔºÀµØ˵£º½ðÈÚÐÐÒµµÄ´óϵͳһ°ã¶¼ÊÇÓÃJavaдµÄ¡£ÓÐÌ«¶àÀíÓÉÈÃÎÒÃÇÏàÐÅ£¬JavaÔÚÆóÒµ¼¶Ó¦ÓÃÕâ¿é£¬ÆðמÙ×ãÇáÖصÄ×÷Óá£È»¶ø£¬ÊÂʵ¹ûÕæÈç´ËÂ𣿽ðÈÚÐÐÒµ»òÐíÊÇÄÇÑù£¬¿ÉÊÇÏñGoogle¡¢AmazonÕâÑùµÄ´óÐÍÍøÕ¾ÄØ£¿Ãæ¶ÔÕâÑùµÄÒÉÎÊ£¬ÔÚ·Ö²¼Ê½Ó¦Óá¢CORBA¡¢JINI¡¢J2EE¡¢Íø¸ñºÍSOAÁìÓò£¬ÓÐ×Å10¶àÄê¾ ......
´Ójdk1.5¿ªÊ¼£¬JavaÖпªÊ¼Ö§³Ö·¶ÐÍÁË¡£·¶ÐÍÊÇÒ»¸öºÜÓÐÓõıà³Ì¹¤¾ß£¬¸øÎÒÃÇ´øÀ´Á˼«´óµÄÁé»îÐÔ¡£ÔÚ¿´ÁË¡¶javaºËÐıà³Ì¡·Ö®ºó£¬ÎÒСÓÐÊÕ»ñ£¬Ð´³öÀ´Óë´ó¼Ò·ÖÏí¡£
Ëùν·¶ÐÍ£¬Îҵĸоõ¾ÍÊÇ£¬²»Óÿ¼ÂǶÔÏóµÄ¾ßÌåÀàÐÍ£¬¾Í¿ÉÒÔ¶Ô¶ÔÏó½øÐÐÒ»¶¨µÄ²Ù×÷£¬¶ÔÈκζÔÏó¶¼ÄܽøÐÐͬÑùµÄ²Ù×÷¡£Õ ......
ÍƼöÒ»¿îJava·´±àÒëÆ÷£¬Ò²Ê¹ÓÃÁËͦ¾ÃµÄÁË£¬¸Ð¾õ»¹ÊǺܺÃÓ㬾ÍÄóöºÍ´ó¼Ò·ÖÏíһϡ£
Õâ¿î·´±àÒëÆ÷½Ð "Java Decompiler", ÓÉ Pavel Kouznetsov¿ª·¢£¬Ä¿Ç°×îа汾Ϊ0.2.5.
ËüÓÉ C++¿ª·¢£¬²¢ÇÒ¹Ù·½¿ÉÒÔÏÂÔØ windows¡¢linuxºÍÆ»¹ûMac OsÈý¸öƽ̨µÄ¿ÉÖ´ÐгÌÐò¡£
±¾ÈËÖ®ËùÒÔÈÏΪËü»¹²»´í£¬ÊÇÆäÓÐÏÂÃ漸¸ö¹ ......
ÔÚ±¾ÎÄͨ¹ýÌṩʹJava Ó¦ÓóÌÐò¿ÉÒÔʹÓà USB É豸µÄ API ¶øʹÕâ¸ö¹ý³Ì±äµÃ¸üÈÝÒ×.
Java ƽ̨һֱ¶¼ÒÔÆäƽ̨ÎÞ¹ØÐÔ×ÔºÀ¡£ËäÈ»ÕâÖÖÎÞ¹ØÐÔÓÐÐí¶àºÃ´¦£¬µ«ÊÇËüҲʹµÃ±àдÓëÓ²¼þ½»»¥µÄ Java Ó¦ÓóÌÐòµÄ¹ý³Ì±äµÃÏ൱¸´ÔÓ¡£ÔÚ±¾ÎÄÖУ¬Ñо¿¿Æѧ¼Ò½¯ÇåÒ°ÌÖÂÛÁËÁ½¸öÏîÄ¿£¬ËüÃÇͨ¹ýÌṩʹJava Ó¦ÓóÌÐò¿ÉÒÔʹÓà USB É豸µÄ API ¶øʹÕâ ......
ÔÚµ÷ÊÔµÄʱºò£¬Èç¹ûÒªÏÔʾbyteµÄÖµÊÇ·ñÓëÔ¤ÆÚÒ»Ö£¬Ò»°ãת»»Îª16½øÖƵÄ×Ö·û´®£¬»òÕßʹÓÃbase64ת»»ºó£¬È»ºóÏÔʾ³öÀ´¡£
/**
* ×Ö·û´®×ª»»³ÉÊ®Áù½øÖÆ×Ö·û´®
*/
public static String str2HexStr(String str) {
char[] chars = "0123456789ABCDEF".toCharArray();
StringBuilder sb = new StringBuilder("");
......