Nano Hash - криптовалюты, майнинг, программирование

Конструктор для класса Instant в Java?

Я знаю, что могу создать объект Instant таким образом:

Instant instant = Instant.now();

И я не понимаю, почему я не могу создать объект Instant следующим образом:

Instant instant1 = new Instant();

Я не могу найти никакой информации о конструкторах Instant, и я знаю, что Instant не является интерфейсом или абстрактным классом. Почему я не могу создать объект Instant?

Заранее спасибо!



Ответы:


1

Поскольку конструктор является приватным. Не забывайте, что существуют реализации Java с открытым исходным кодом, и вы можете просто посмотреть их реализации для таких вопросов:

/**
 * Constructs an instance of {@code Instant} using seconds from the epoch of
 * 1970-01-01T00:00:00Z and nanosecond fraction of second.
 *
 * @param epochSecond  the number of seconds from 1970-01-01T00:00:00Z
 * @param nanos  the nanoseconds within the second, must be positive
 */
private Instant(long epochSecond, int nanos) {
    super();
    this.seconds = epochSecond;
    this.nanos = nanos;
}
01.06.2018
  • @pkpnd Реализация java.time имеет открытый исходный код; он не был создан Oracle, и большая часть Oracle Java идентична OpenJDK, который является открытым исходным кодом. 01.06.2018

  • 2

    Исходный код Instant объявляет конструктор private, принимающий 2 аргумента, что предотвращает автоматическое создание конструктора без аргументов. Это задумано: авторы исходного кода Instant хотели запретить пользователям использовать конструктор, потому что они хотели заставить пользователей использовать вместо него Instant.now().

    01.06.2018
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..