Copy constructor in Java is a constructor that creates a new object by copying the values of the fields of an existing object of the same class. Copy constructors are not a standard feature in Java and are not part of the language specification, but they can be useful in certain situations.
Here's an example of a class with a copy constructor:
public class Car {
private int speed;
private String model;
// constructor
public Car(int speed, String model) {
this.speed = speed;
this.model = model;
}
// copy constructor
public Car(Car car) {
this.speed = car.speed;
this.model = car.model;
}
}
And here's an example of how you might use the copy constructor to create a new object:
Car originalCar = new Car(60, "sedan"); Car copyCar = new Car(originalCar);
In this example, the originalCar object is used to initialize a new copyCar object by calling the copy constructor. The values of the speed and model fields of originalCar are copied to the new object. This allows you to create a new object with the same values as an existing object, without having to manually set each field one by one.
It's worth noting that there are other ways to make a copy of an object in Java, such as using the clone() method or creating a new object with the same values using a constructor or setter methods. The choice of method depends on the specific requirements and design of your program.