1.Clone()方法产生一个object,使用方法后必须产生的object赋值。
Vector v2 = (Vector)v.clone();
2.Clone()方法在object中是保护类型方法,如果自己创建的类需要使用Clone()方法的话需要自己重新写一个,并且继承Cloneable接口。
package tweleve;import java.util.*;class MyObject implements Cloneable {int i; MyObject(int ii) { i = ii; }public Object clone() { Object object = null;try { object = super.clone(); } catch (CloneNotSupportedException e) { System.out.println("MyObject can't clone"); }return object; }public String toString() {return Integer.toString(i); } }public class LocalCopy {static MyObject g(MyObject v) { v.i++;return v; }static MyObject f(MyObject v) { v = (MyObject) v.clone(); v.i++;return v; }public static void main(String[] args) { MyObject aMyObject = new MyObject(11); MyObject bMyObject = g(aMyObject);if (aMyObject == bMyObject) System.out.println("a==b");elseSystem.out.println("a!=b"); System.out.println("a=" + aMyObject); System.out.println("b=" + bMyObject); MyObject cMyObject = new MyObject(31); MyObject dMyObject = f(cMyObject);if (cMyObject == dMyObject) System.out.println("c==d");elseSystem.out.println("c!=d"); System.out.println("c=" + cMyObject); System.out.println("d=" + dMyObject); } }
3.如果希望一个类能够克隆那么需要有下列步骤:(1)实现Cloneable接口
(2)覆盖Clone()方法
(3)在自己的Clone()方法中调用super.clone()
(4)在自己的clone()中捕获违例
4.String类中所有能修改String的方法其实都创建和返回了一个新的String类,原来的String类是没有改变的,包括+和+=,StringBuffer比String操作字符串时更有效。
package tweleve;import java.sql.Ref;import org.omg.CORBA.SystemException;public class Stringer {static String upcase(String s){ return s.toUpperCase(); } public static void main(String[] args){ String qString=new String("howdy"); System.out.println(qString); String qq=upcase(qString); System.out.println(qq); System.out.println(qString); } }
Atas ialah kandungan terperinci Java中传递和返回对象的实例代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!