о доступе к публичному классу внутри одного и того же пакета (каталог) [дубликат]

Конструктор работает только при создании нового экземпляра класса. Это самый первый метод для запуска экземпляра, он должен запускаться и запускаться ровно один раз.

Метод экземпляра можно вызвать где угодно между нулевым временем и бесконечным временем в экземпляре, когда он .

Конструктор запускается неявно. Когда создается новый экземпляр класса, он запускается автоматически. Метод запускается явно. Он должен быть вызван либо из некоторого внешнего источника, либо из метода - или конструктора - в классе.

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

  public class MyType {private SomeType _myNeeds;  // конструктор MyType (SomeType iWillNeedThis) {_myNeeds = iWillNeedThis;  } // метод public void MyMethod () {DoSomethingAbout (_myNeeds);  }}  
0
задан Eran 6 October 2014 в 17:39
поделиться

3 ответа

Файлы должны начинаться с объявления пакета, которое соответствует директории, в которой они расположены.

Например:

package com.something;

, если файлы находятся под com/something.

com/
    something/
        A.java
        B.java
3
ответ дан Eran 16 August 2018 в 03:52
поделиться
  • 1
    Я не думаю, что имя пакета обязательно должно соответствовать структуре каталогов (хотя это, конечно, хорошая практика). – MrHug 6 October 2014 в 16:32
  • 2
    @MrHug JLS не требует этого, но многие реализации Java полагаются на него. См. здесь . – Eran 6 October 2014 в 16:37
  • 3
    Поскольку @MrHug сказал, что нет необходимости, чтобы исходные файлы находились в той же структуре каталогов, что и объявление пакета. Объявление пакета в исходном файле определяет пакет классов. Однако это стало конвенцией, а также хорошей практикой. Так как это так, многие инструменты были разработаны, ожидая такого поведения. – markbernard 6 October 2014 в 16:38
  • 4
    Чтобы загрузчик классов мог найти файл .class, он должен находиться в каталоге, соответствующем имени пакета, относительно начальной точки, вызываемой по пути класса. Но разные классы в одном пакете могут быть в разных абсолютных путях, при условии выполнения вышеуказанного требования. И .java-файлы не должны следовать этому правилу, хотя компиляция является грязной, если они этого не делают. – Hot Licks 6 October 2014 в 16:39
  • 5
    @markbernard Опять же, это не обязательно в соответствии с JLS, но если, например, вы пытаетесь изменить имя пакета файла в Eclipse, не перемещая его в соответствующий каталог, вы получите сообщение об ошибке. – Eran 6 October 2014 в 16:40

Пакет похож на структуру каталогов, но не путайте его с папкой окна или другой ОС.

Просто рассмотрите пакет как пакет файлов.

Просто напишите: пакет ничего ;

как самая верхняя строка в вашей программе. Все файлы имеют одинаковое имя пакета, которые будут помещены в один и тот же пакет «ничего» и, следовательно, могут быть использованы для дальнейшей реализации, например «import amything»; если вы хотите использовать эти файлы в любой другой программе, а затем использовать структуру этих файлов.

0
ответ дан Udbhav Kalra 16 August 2018 в 03:52
поделиться

Чтобы быть в одном пакете, файлы должны содержать строку:

package com.example.samepackage;

(например)

0
ответ дан user650309 16 August 2018 в 03:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: