Mega Code Archive

 
Categories / Java Tutorial / Class Definition
 

Demonstration of the Pointers and References Concept

/*  *     file: PointersAndReferences.java  *  package: oreilly.hcj.review  *  * This software is granted under the terms of the Common Public License,  * CPL, which may be found at the following URL:  * http://www-124.ibm.com/developerworks/oss/CPLv1.0.htm  *  * Copyright(c) 2003-2005 by the authors indicated in the @author tags.  * All Rights are Reserved by the various authors.  * ########## DO NOT EDIT ABOVE THIS LINE ########## */ import java.util.Vector; /**    * Demonstration of the Pointers and References Concept.  *  * @author <a href=mailto:kraythe@arcor.de>Robert Simmons jr. (kraythe)</a>  * @version $Revision: 1.3 $  */ public class PointersAndReferences {   /**     * Main method.    *    * @param args Command Line arguments.    */   public static final void main(final String[] args) {     Vector source = new Vector();     source.add("O'Reilly");     source.add("XML");     source.add("Java");     System.out.println("Original Vector");     System.out.println(source.toString());     // -- Try the first method.      someMethod(source);     System.out.println("After first method.");     System.out.println(source.toString());     // -- Try the second method.      someOtherMethod(source);     System.out.println("After second method.");     System.out.println(source.toString());   }   /**     * Try using a vector without changing it.    *    * @param source The source Vector.    */   public static void someMethod(Vector source) {     Vector target = source;     target.add("Swing");   }   /**     * Try using a vector without changing it with final parameter.    *    * @param source The source Vector.    */   public static void someOtherMethod(final Vector source) {     Vector target = source;     target.add("JFC");  // ouch, still changes v.     // source = new Vector(); // compiler error.   } } /* ########## End of File ########## */