Prerequisite – Constructors in Java
Like C++, Java also supports copy constructor. But, unlike C++, Java doesn’t create a default copy constructor if you don’t write your own.
Following is an example Java program that shows a simple use of copy constructor.
// filename: Main.java class Complex { private double re, im; // A normal parametrized constructor public Complex(double re, double im) { this.re = re; this.im = im; } // copy constructor Complex(Complex c) { System.out.println("Copy constructor called"); re = c.re; im = c.im; } // Overriding the toString of Object class @Override public String toString() { return "(" + re + " + " + im + "i)"; } } public class Main { public static void main(String[] args) { Complex c1 = new Complex(10, 15); // Following involves a copy constructor call Complex c2 = new Complex(c1); // Note that following doesn't involve a copy constructor call as // non-primitive variables are just references. Complex c3 = c2; System.out.println(c2); // toString() of c2 is called here } } |
chevron_right
filter_none
Output:
Copy constructor called (10.0 + 15.0i)
Now try the following Java program:
// filename: Main.java class Complex { private double re, im; public Complex(double re, double im) { this.re = re; this.im = im; } } public class Main { public static void main(String[] args) { Complex c1 = new Complex(10, 15); Complex c2 = new Complex(c1); // compiler error here } } |
chevron_right
filter_none
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Recommended Posts:
- Copy Constructor in C++
- Default constructor in Java
- Constructor Overloading in Java
- Constructor Chaining In Java with Examples
- Java Function/Constructor Overloading Puzzle
- Array Copy in Java
- Collections copy() method in Java with Examples
- Deep, Shallow and Lazy Copy with Java Examples
- C program to copy string without using strcpy() function
- Java.util.LinkedList.poll(), pollFirst(), pollLast() with examples in Java
- Java.util.Collections.rotate() Method in Java with Examples
- Java.util.Collections.disjoint() Method in java with Examples
- Java.util.LinkedList.peek() , peekfirst(), peeklast() in Java
- Java.util.LinkedList.offer(), offerFirst(), offerLast() in Java
- Java.util.BitSet class methods in Java with Examples | Set 2



