Я пытаюсь найти почему наклон класса, который будет создан как помехи? Как:
public static class Qwert{
public static void main(String args[]){
int x = 12;
while(x<12){
x--;
}
System.out.println(" the X value is : "+ x);
}
}
В Java ключевое слово static
обычно обозначает метод или поле как существующие не один раз для каждого экземпляра класса, а один раз всегда. Класс в любом случае существует один раз, поэтому, по сути, все классы являются "статическими" в этом смысле, а все объекты - экземплярами классов.
static
имеет значение для внутренних классов, которое совершенно иное: Обычно экземпляр внутреннего класса может получить доступ к членам экземпляра внешнего класса, с которым он связан, но если внутренний класс является статическим
, он не имеет такой ссылки и может быть создан без экземпляра внешнего класса. Возможно, вы где-то это видели, а затем попытались использовать это в классе верхнего уровня, где это не имеет смысла.
Или, возможно, вы видели это в других языках, таких как C#, синтаксис которого очень похож на синтаксис Java.
(Однажды я не мог понять, почему экземпляр внешнего класса не собирает мусор - это было потому, что я хранил ссылку на один из экземпляров его внутреннего класса в другом месте, а внутренний класс не был статическим
и поэтому имел ссылку на экземпляр внешнего класса. Поэтому по умолчанию я теперь делаю внутренние классы статическими
.)
Чтобы предотвратить инстанцирование определенного класса, необходимо добавить приватный конструктор. Это не позволит "любому другому" классу создать объект типа Qwert
.
например:
public static class Qwert{
private Qwert() {}
public static void main(String args[]){
int x = 12;
while(x<12){
x--;
}
System.out.println(" the X value is : "+ x);
}
}