Ответы пользователя по тегу ООП
  • В чем отличие между class и public class в Java?

    firezhek
    @firezhek
    Java Developer
    Странный вопрос, ну да ладно. Смотри. class {} , access modifier = (private ,protected, default(none), public) . Пабликом ты говоришь, что класс доступен из других пакетов, при этом конструктор может быть паблик, а у класса стоять просто class. Но в этом не будет смысла, так как ты не сможешь использовать этот класс в другом пакете , так как модификатор доступа у тебя package-private у класса.

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

    К примеру

    package1;
    
    public class Animal { 
    
    Animal(){}
    }
    
    public static void gav(){
    }
    
    }
    
    package2;
    
    public class ZooPark{
    
    public void main(String[] args) {
    Animal animal = new Animal(); // ошибка здесь, конструктор не доступен т.к. package-private
    Animal.gav(); //- ок , класс доступен, статик тоже доступен. ps статик метод тоже публичный
    }
    
    }
    Ответ написан
    Комментировать