Как скрыть конструктор в записи Java, которая предлагает общедоступный статический фабричный метод?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как скрыть конструктор в записи Java, которая предлагает общедоступный статический фабричный метод?

Сообщение Anonymous »

У меня есть простая запись на Java:

Код: Выделить всё

public record DatePair( LocalDate start , LocalDate end , long days ) {}
Мне нужны все три свойства (, end и дни) должны быть общедоступны для чтения, но мне нужно третье свойство () автоматически вычисляется, а не передается во время создания экземпляра.
Поэтому я добавляю статический фабричный метод:

Код: Выделить всё

public record DatePair( LocalDate start , LocalDate end , long days )
{
public static DatePair of ( LocalDate start , LocalDate end )
{
return new DatePair ( start , end , ChronoUnit.DAYS.between ( start , end ) ) ;
}
}
Я хочу, чтобы для создания экземпляра использовался только этот статический фабричный метод. Я хочу скрыть конструктор. Поэтому я явно пишу неявный конструктор и отмечаю его как частный.

Код: Выделить всё

public record DatePair( LocalDate start , LocalDate end , long days )
{
private DatePair ( LocalDate start , LocalDate end , long days )  // 

Подробнее здесь: [url]https://stackoverflow.com/questions/76843519/how-to-hide-constructor-on-a-java-record-that-offers-a-public-static-factory-met[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»