Небольшая заметка для себя насчет abstract и final классов.
Abstract - класс, от которого нельзя создать экземпляр (инстанциироваться). Обычно нужен, чтобы от него наследовались другие классы. Соответственно, он может иметь только статические методы и переменные - для их вызова не нужны экземпляры.
Final - класс, от которого нельзя наследоваться. Тем самым - нельзя переопределять его переменные и методы (то есть они неявно тоже final). Но создавать экземпляры такого класса можно.
Класс может быть одновременно и abstract, и final. В этом случае, соответственно, доступны только его собственные статические методы и переменные, поскольку, как было сказано, у abstract класса не может быть экземпляров.
Abstract - класс, от которого нельзя создать экземпляр (инстанциироваться). Обычно нужен, чтобы от него наследовались другие классы. Соответственно, он может иметь только статические методы и переменные - для их вызова не нужны экземпляры.
Final - класс, от которого нельзя наследоваться. Тем самым - нельзя переопределять его переменные и методы (то есть они неявно тоже final). Но создавать экземпляры такого класса можно.
Класс может быть одновременно и abstract, и final. В этом случае, соответственно, доступны только его собственные статические методы и переменные, поскольку, как было сказано, у abstract класса не может быть экземпляров.
Комментариев нет:
Отправить комментарий