JAVAÖеÄÖ¸Õë,ÒýÓü°¶ÔÏóµÄclone
JavaÓïÑÔµÄÒ»¸öÓŵã¾ÍÊÇÈ¡ÏûÁËÖ¸ÕëµÄ¸ÅÄµ«Ò²µ¼ÖÂÁËÐí¶à³ÌÐòÔ±ÔÚ±à³ÌÖг£³£ºöÂÔÁ˶ÔÏóÓëÒý
ÓõÄÇø±ð£¬±¾ÎÄ»áÊÔͼ³ÎÇåÕâÒ»¸ÅÄî¡£²¢ÇÒÓÉÓÚJava²»ÄÜͨ¹ý¼òµ¥µÄ¸³ÖµÀ´½â¾ö¶ÔÏó¸´ÖƵÄÎÊÌ⣬ÔÚ¿ª·¢¹ý³ÌÖУ¬Ò²³£³£ÒªÒªÓ¦ÓÃclone£¨£©·½·¨À´¸´ÖƶÔ
Ïó¡£±¾ÎÄ»áÈÃÄãÁ˽âʲôÊÇÓ°×ÓcloneÓëÉî¶Èclone£¬ÈÏʶËüÃǵÄÇø±ð¡¢Óŵ㼰ȱµã¡£
¿´µ½Õâ¸ö±êÌ⣬ÊDz»ÊÇÓеãÀ§»ó£ºJavaÓïÑÔÃ÷ȷ˵Ã÷È¡ÏûÁËÖ¸Õ룬ÒòΪָÕëÍùÍùÊÇÔÚ´øÀ´·½±ãµÄͬʱҲÊǵ¼Ö´úÂë²»°²È«µÄ¸ùÔ´£¬Í¬Ê±Ò²»áʹ³ÌÐòµÄ±äµÃ·Ç³£¸´
ÔÓÄÑÒÔÀí½â£¬ÀÄÓÃÖ¸Õëд³ÉµÄ´úÂë²»ÑÇÓÚʹÓÃÔçÒѳôÃûÕÑÖøµÄ"GOTO"Óï¾ä¡£Java·ÅÆúÖ¸ÕëµÄ¸ÅÄî¾ø¶ÔÊǼ«ÆäÃ÷Öǵġ£µ«ÕâÖ»ÊÇÔÚJavaÓïÑÔÖÐûÓÐÃ÷È·
µÄÖ¸Õ붨Ò壬ʵÖÊÉÏÿһ¸önewÓï¾ä·µ»ØµÄ¶¼ÊÇÒ»¸öÖ¸ÕëµÄÒýÓã¬Ö»²»¹ýÔÚ´ó¶àʱºòJavaÖв»ÓùØÐÄÈçºÎ²Ù×÷Õâ¸ö"Ö¸Õë"£¬¸ü²»ÓÃÏóÔÚ²Ù×÷C£«£«µÄÖ¸ÕëÄÇ
Ñùµ¨Õ½Ðľª¡£Î¨Ò»Òª¶à¶à¹ØÐĵÄÊÇÔÚ¸øº¯Êý´«µÝ¶ÔÏóµÄʱºò¡£ÈçÏÂÀý³Ì£º
package reference;
class Obj{
String str = "init value";
public String toString(){
return str;
}
}
public class ObjRef{
Obj aObj = new Obj();
int aInt = 11;
public void changeObj(Obj inObj){
inObj.str = "changed value";
}
public void changePri(int inInt){
inInt = 22;
}
public static void main(String[] args)
{
ObjRef oRef = new ObjRef();
System.out.println("Before call changeObj() method: " + oRef.aObj);
oRef.changeObj(oRef.aObj);
System.out.println("After call changeObj() method: " + oRef.aObj);
System.out.println("==================Print Primtive=================");
System.out.println("Before call changePri() method: " + oRef.aInt);
oRef.changePri(oRef.aInt);
System.out.println("After call changePri() method: " + oRef.aInt);
}
}
/* RUN RESULT
Before call changeObj() method: init value
After call changeObj() method: changed value
==================Print Primtive=================
Before call changePri() method: 11
After call changePri() method: 11
*
*/
Õâ¶Î´úÂëµÄÖ÷Òª²¿·Öµ÷ÓÃÁËÁ½¸öºÜÏà½üµÄ·½·¨£¬changeObj()ºÍchangePri()¡£Î¨Ò»²»Í¬µÄÊÇËüÃÇÒ»¸ö°Ñ¶
Ïà¹ØÎĵµ£º
Õû¸öÀàÎļþ×¢ÊÍ
ʾÀýÈçÏÂ
:
/*
* @(#)Object.java
1.61 03/01/23
*
* Copyright 2003 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package java.lang;
& ......
ǿתһ¸öÊý×éÀàÐÍ ±ØÐëҪѻ·±éÀú
±ÈÈç
B[] b;
//A¼Ì³ÐB;
A[] a= (A[])b;
ÕâÑùתÊDz»Äܳɹ¦µÄ
ÕâÊÇΪʲô£¿ÈçºÎ½â¾ö£¿
Ò²¾ÍÊÇ˵
for( int i=0; i<b.length; i++ )
{
a[i]=(A)b[i];
}
ÕâÑùת£¡ ......
ÔÚJavaÓïÑÔÖУ¬ abstract class ºÍinterface ÊÇÖ§³Ö³éÏóÀඨÒåµÄÁ½ÖÖ»úÖÆ¡£ÕýÊÇÓÉÓÚÕâÁ½ÖÖ»úÖÆµÄ´æÔÚ£¬²Å¸³ÓèÁËJavaÇ¿´óµÄ ÃæÏò¶ÔÏóÄÜÁ¦¡£abstract classºÍinterfaceÖ®¼äÔÚ¶ÔÓÚ³éÏóÀඨÒåµÄÖ§³Ö·½Ãæ¾ßÓкܴóµÄÏàËÆÐÔ£¬ÉõÖÁ¿ÉÒÔÏà»¥Ìæ»»£¬Òò´ËºÜ¶à¿ª·¢ÕßÔÚ½ø ÐгéÏóÀඨÒåʱ¶ÔÓÚabstract classºÍinterfaceµÄÑ¡ÔñÏԵñȽÏËæÒâ ......
¶ÔÔ¶Ô¶´óÓÚÄÚ´æµÄÊý¾Ý½øÐÐÍâÅÅÐò£¬Ôڶ෱ȽϵÄʱºòÓðÜÕßÊ÷ЧÂÊ»á¸ü¸ß¡£
package my.sort;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.F ......
Java
ƽ̨ÒÑÎÞ´¦²»ÔÚ£¬Java EE¡¢Java SE¡¢Java ME ºÍ Java Card£¬Java
µÄ·¢Õ¹ÎªÎÞÊý³ÌÐòÔ±ÌṩÁ˹¤×÷»ú»á£¬¶¼ÊÇ“Java”£¬È»¶ø³ýÁË»ù±¾µÄ Java
Óï·¨´ó¶¼Ò»ÖÂÍ⣬³ÌÐòÔ±±ØÐë»ùÓÚ²»Í¬µÄƽ̨Óв»Í¬µÄ¿¼ÂÇ£¬Ñ§Ï°²»Í¬Æ½Ì¨µÄÌØµã£º
²»Í¬Æ½Ì¨µÄ»·¾³
Java EE ËùÔËÐеÄÓ²¼þ·þÎñÆ÷¡¢²Ù×÷ϵͳ£¬Java SE ËùÔÚ PC »ú ......