Что такое преимущество, что конструктор предложения этого типа к одному нижеперечисленным: -Java конструктор лучшая практика
class A{
public A(A a){}
public A(){}
}
Что такое преимущество, что конструктор предложения этого типа к одному нижеперечисленным: -Java конструктор лучшая практика
class A{
public A(A a){}
public A(){}
}
A(A a){/*do something*/}
Может быть полезным в качестве конструктора копирования.
Если вы имеете в виду тот, с параметром, нет никаких причин, за то, что вообще, учитывая, что полностью игнорирует параметр, и есть уже другой конструктор с таким же эффектом.
Если вы можете дать более реалистичный пример, мы можем быть в состоянии дать более полезную информацию ...
Вопрос: Вы не совсем понятны, но в принципе, если у вас есть класс, у которого есть конструктор, который принимает экземпляр того же класса, то у вас есть конструктор копирования. т. е. конструктор, который создает новый экземпляр с теми же внутренними значениями, что и оригинал.
Редактировать - предполагая, что ваш конструктор делает что-то другое, кроме как создать новый экземпляр.
Нет никаких преимуществ, если вам не нужен конструктор копирования. Я бы предложил использовать метод clone(), если этот объект должен быть клонирован, а не использовать семантику конструктора копии.
Как уже было сказано, у вас есть конструктор копирования. Есть number of reasons, почему вам может понадобиться конструктор копирования. Некоторые из них:
Ознакомьтесь с ссылкой, которую я добавил в это сообщение для получения дополнительной информации о конструкторах копий и почему вы хотели бы использовать их (если они вам понадобятся).