JavaµÄdz¿½±´ºÍÉ±´(1)
JavaµÄ¿½±´·ÖΪÉ±´ºÍdz¿½±´
dz¿½±´£º°ÑÒ»¸ö¶ÔÏóÖÐËùÓеķÇstatic³ÉÔ±±äÁ¿(°üÀ¨¶ÔÆäËü¶ÔÏóµÄÒýÓã¬javaÖеÄÒýÓÃÏ൱ÓÚC/C++ÖеÄÖ¸Õë±äÁ¿)¶¼¿½±´Ò»±é£¬¶ø²»¿½±´ÒýÓÃËùÖ¸ÏòµÄ¶ÔÏó
É±´£º°ÑÒ»¸ö¶ÔÏóÖÐËùÓеķÇstatic³ÉÔ±±äÁ¿(°üÀ¨¶ÔÆäËü¶ÔÏóµÄÒýÓÃ)¶¼¿½±´Ò»±é£¬ÒýÓÃËùÖ¸ÏòµÄ¶ÔÏóÒ²¿½±´Ò»·Ý
ÕâÆªÎÄÕÂÏȽ²Êödz¿½±´£¬É±´ÏÂÆªÎÄÕ½²Êö
Ò»¸öÀàµÄ¶ÔÏóÈç¹ûÏëÒª¾ßÓп½±´µÄ¹¦ÄÜ£¬±ÈÈç·ûºÅÈçÏÂÌõ¼þ£º
1.±ØÐëʵÏÖCloneable½Ó¿Ú(Õâ¸ö½Ó¿ÚÖÐûÓж¨Òå·½·¨£¬½Ð×ö±ê¼Ç½Ó¿Ú)
2.ÖØÐ´ObjectÀàµÄclone()·½·¨£¬¸Ã·½·¨ÊµÏÖµÄÊÇdz¿½±´
3.ÔÚ¸ÃÀàµÄclone()·½·¨ÖеĵÚÒ»¾ä£¬±ÈÈçµ÷ÓÃsuper.clone()À´µ÷ÓÃObjectµÄclone()·½·¨À´ÊµÏÖ¿½±´
ÒÔÏÂÊÇÒ»¸ödz¿½±´µÄÀý×Ó£º
package com.test;
public class CloneTest
{
public static void main(String[] args)
{
Student s1 = new Student();
s1.setAge(20);
s1.setName("wudi");
School school = new School();
school.setName("Peiyang University");
school.setBornYear(1895);
s1.setSchool(school);
System.out
.println("s1:" + s1.getName() + " " + s1.getAge() + " "
+ s1.getSchool().getName() + " "
+ s1.getSchool().getBornYear());
try
{
//¿½±´Ò»¸öѧÉú
Student s2 = (Student)s1.clone();
s2.setAge(21);
s2.setName("WUDI");
System.out
.println("s2:" + s2.getName() + " " + s2.getAge() + " "
+ s2.getSchool().getName() + " "
+ s2.getSchool().getBornYear());
System.out.println("after s2 changing some property:");
//ͨ¹ýѧÉús2¸Ä±äÁËËûËùÔÚѧУµÄÃû³ÆºÍ³ÉÁ¢Ê±¼ä
s2.getSchool().setName("Tianjin University");
s2.getSchool().setBornYear(1951);
System.out
.println("s1:" + s1.getName() + " " + s1.getAge() + " "
+ s1.getSchool().getName() + " "
+ s1.getSchool().getBornYear());
System.out
.println("s2:" + s2.getName() + " " + s2.getAge() + " "
Ïà¹ØÎĵµ£º
ÔÚÓ¦ÓóÌÐòÖÐÎÒÃǾ³£ÐèÒªÒ»¸öÀàÈ¥Íê³ÉÏñÊý¾Ý´¦Àí¡¢¼àÌýʼþ»ò¼ì²éÁíÒ»¸öÀàµÄ»î¶¯µÈÈÎÎñ¡£ÎªÁË´ïµ½Õâ¸öÄ¿±ê£¬ÎÒÃÇ¿ÉÄÜʹÓôøÓÐÒ»Ì×ËøºÍÏûϢ֪ͨµÄÏ̡߳£Java Ïß³ÌAPIÒѾºÜºÃµÄÎĵµ»¯£¬µ«ÎªÁËʹÏß³ÌÄܹ»ÕýÈ·¶ø¸ßЧµØÔËÐУ¬³ÌÐòÔ±ÈÔÈ»ÐèÒª·á¸»µÄ±à³Ì¾Ñé²¢±àд´óÁ¿µÄ´úÂ롣ͨ¹ýÓ¦Óñ¾ÆªÎÄÕÂÖÐÌÖÂ۵Ŀò¼Ü£¬³ÌÐòÔ±Äܹ»±Ü ......
1.¶¨Ò壺 ¹ËÃû˼Òå¾ÍÊÇÔÚÀàÖж¨ÒåµÄÀ࣬·ÖΪÁ½À࣬static µÄ ºÍ non-static µÄ¡£ÄÚ²¿Ààʵ¼ÊÉÏÊÇÒ»¸ö±àÒëÆ÷µÄÏÖÏó¡£±àÒëÆ÷½«ÄÚ²¿Ààת»¯Îª´ø×ÅÒ»Ð©Ææ¹ÖÃû×ֵįÕͨÀàÎļþ£¬ÐéÄâ»ú²¢²»Çø·ÖÒ»°ãÀàºÍÄÚ²¿ÀàµÄÀàÖеÄÎļþ¡£ 2.ʹÓÃÄÚ²¿ÀàµÄµÚÒ»¸öºÃ´¦——·â×°ÐԺͶà¼Ì³Ð ÎÒÃǽøÐС°µÚÈýÖÖ¹ØÏµ¡±·ÖÎö£º ¼Ì³Ð½á¹¹ÖÐÎ ......
»·¾³JDK1.5
Eclipse 3.2
Ö±½ÓÉÏ´úÂ룺Èç¹ûûÓÐÅäÖúû·¾³Çë²Î¿´Ç°Á½ÆªÈÕÖ¾
·þÎñÆ÷¶Ë´úÂë
UserÀࣺ
/*
*Class User.java
*Create Date: 2009-11-4
*Author:a276202460
*/
package com.axis.pojo.test;
public class User implements java.io.Serializable{
public boolean equals(Object obj) {
if (obj == ......