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

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

Сообщение Anonymous »

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

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

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

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

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»