Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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


Ïà¹ØÎĵµ£º

ÉîÈëdz³öJavaÉè¼Æģʽ֮ÊÊÅäÆ÷ģʽ


ͨ³££¬¿Í»§Àà(clients of class)ͨ¹ýÀàµÄ½Ó¿Ú·ÃÎÊËüÌṩµÄ·þÎñ¡£ÓÐʱ£¬ÏÖÓеÄÀà(existing class)¿ÉÒÔÌṩ¿Í»§ÀàµÄ¹¦ÄÜÐèÒª£¬µ«ÊÇËüËùÌṩµÄ½Ó¿Ú²»Ò»¶¨ÊÇ¿Í»§ÀàËùÆÚÍûµÄ¡£ÕâÊÇÓÉÓÚÏÖÓеĽӿÚÌ«Ïêϸ»òÕßȱ·¦Ïêϸ»ò½Ó¿ÚµÄÃû³ÆÓë¿Í»§ÀàËù²éÕҵIJ»Í¬µÈÖî¶à²»Í¬Ô­Òòµ¼Öµġ£
¡¡¡¡ÔÚÕâÖÖÇé¿öÏ£¬ÏÖÓеĽӿÚÐèҪת»¯(convert)Ϊ¿ ......

Ϊʲô´ó¶àÊý´óÐÍÍøÕ¾²»ÊÇÓÃJavaдµÄ£¿

×÷Ϊһ¸öJava³ÌÐòÔ±£¬ÎÒÃdz£³£»áÆĸÐ×ÔºÀµØ˵£º½ðÈÚÐÐÒµµÄ´óϵͳһ°ã¶¼ÊÇÓÃJavaдµÄ¡£ÓÐÌ«¶àÀíÓÉÈÃÎÒÃÇÏàÐÅ£¬JavaÔÚÆóÒµ¼¶Ó¦ÓÃÕâ¿é£¬ÆðמÙ×ãÇáÖصÄ×÷Óá£È»¶ø£¬ÊÂʵ¹ûÕæÈç´ËÂ𣿽ðÈÚÐÐÒµ»òÐíÊÇÄÇÑù£¬¿ÉÊÇÏñGoogle¡¢AmazonÕâÑùµÄ´óÐÍÍøÕ¾ÄØ£¿Ãæ¶ÔÕâÑùµÄÒÉÎÊ£¬ÔÚ·Ö²¼Ê½Ó¦Óá¢CORBA¡¢JINI¡¢J2EE¡¢Íø¸ñºÍSOAÁìÓò£¬ÓÐ×Å10¶àÄê¾­ ......

Java Éè¼Æ¼Ü¹¹


Ŀ¼
ÕªÒª ……………………………………………………………………2
ÎÄÏ××ÛÊö ……………………&h ......

java¶¯Ì¬´úÀíÀà

 
Java¶¯Ì¬´úÀíÀàλÓÚjava.lang.reflect°üÏ£¬Ò»°ãÖ÷ÒªÉæ¼°µ½ÒÔÏÂÁ½¸öÀࣺ
(1)Interface InvocationHandler£º¸Ã½Ó¿ÚÖнö¶¨ÒåÁËÒ»¸ö·½·¨
§public object invoke(Object obj,Method method, Object[] args)
ÔÚʵ¼ÊʹÓÃʱ£¬µÚÒ»¸ö²ÎÊýobjÒ»°ãÊÇÖ¸´úÀíÀ࣬methodÊDZ»´úÀíµÄ·½·¨£¬ÈçÉÏÀýÖеÄrequest()£¬argsΪ¸ ......

Java·¶ÐÍdzÎö

´Ójdk1.5¿ªÊ¼£¬JavaÖпªÊ¼Ö§³Ö·¶ÐÍÁË¡£·¶ÐÍÊÇÒ»¸öºÜÓÐÓõıà³Ì¹¤¾ß£¬¸øÎÒÃÇ´øÀ´Á˼«´óµÄÁé»îÐÔ¡£ÔÚ¿´ÁË¡¶javaºËÐıà³Ì¡·Ö®ºó£¬ÎÒСÓÐÊÕ»ñ£¬Ð´³öÀ´Óë´ó¼Ò·ÖÏí¡£
        Ëùν·¶ÐÍ£¬Îҵĸоõ¾ÍÊÇ£¬²»Óÿ¼ÂǶÔÏóµÄ¾ßÌåÀàÐÍ£¬¾Í¿ÉÒÔ¶Ô¶ÔÏó½øÐÐÒ»¶¨µÄ²Ù×÷£¬¶ÔÈκζÔÏó¶¼ÄܽøÐÐͬÑùµÄ²Ù×÷¡£Õ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ