Разница между статическим и окончательным в Java

Оглавление:

Разница между статическим и окончательным в Java
Разница между статическим и окончательным в Java

Видео: Разница между статическим и окончательным в Java

Видео: Разница между статическим и окончательным в Java
Видео: Чем отличается интерфейс от абстрактного класса? Что использовать? 👨‍💻 Собеседование Java #Shorts ✅ 2024, Ноябрь
Anonim

Ключевая разница - статический и окончательный в Java

Каждый язык программирования имеет определенный синтаксис. Программист должен следовать этому синтаксису при написании программ. Ключевые слова языков программирования имеют определенные значения в зависимости от задач. Они предоставляются языком программирования и не могут использоваться для определяемых пользователем переменных, методов, классов и т. д. Статические и окончательные - это два ключевых слова в Java. В этой статье обсуждается разница между static и final в Java. Ключевое различие между static и final в Java заключается в том, что static используется для определения члена класса, который может использоваться независимо от любого объекта класса, тогда как final используется для объявления постоянной переменной или метода, который не может быть переопределен, или класса, который не может быть унаследовано.

Что такое статика в Java?

Класс состоит из элементов данных (атрибутов) и методов. Чтобы вызвать методы, должен быть объект этого конкретного класса. Когда метод объявлен как статический, нет необходимости создавать объект для вызова этого метода. Метод можно вызвать, используя имя класса. См. приведенную ниже программу.

Разница между статическим и окончательным в Java
Разница между статическим и окончательным в Java

Рисунок 01: Программа на Java со статическими переменными и статическим методом

Согласно приведенной выше программе, класс A содержит числовую переменную и метод отображения. Оба являются статическими членами. Поэтому нет необходимости создавать объект для доступа к числовой переменной и методу отображения. Программист может напрямую написать имя класса, чтобы вывести число и вызвать метод display. Таким образом, нет необходимости создавать экземпляр объекта. Если числовая переменная и метод отображения нестатические, то должен быть объект типа A.

Разница между статическим и окончательным в Java_Рисунок 02
Разница между статическим и окончательным в Java_Рисунок 02

Рисунок 02: Использование статического блока

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

Что такое final в Java?

В программе могут быть переменные различных типов. Если есть переменная int x=1; позже в программе это значение переменной может быть изменено на какое-либо другое значение. Переменная, которая объявлена как final и инициализирована значением, не может быть изменена позже в программе.

Разница между статическим и окончательным в Java_Рисунок 03
Разница между статическим и окончательным в Java_Рисунок 03

Рисунок 03: Программа с final Variable и Inheritance

Согласно приведенной выше программе, x является конечной переменной. Ему присваивается значение 5. Ему нельзя изменить какое-либо другое значение, поскольку оно объявлено окончательным. Java поддерживает объектно-ориентированное программирование (ООП). Одним из столпов ООП является полиморфизм. Один тип полиморфизма переопределяет. Класс A имеет метод отображения. Класс B расширяет класс A и имеет собственный метод отображения. При создании объекта типа B и вызове метода display в качестве вывода будет напечатано «B». Метод отображения класса A переопределяется методом отображения класса B.

Если программист хочет избежать переопределения метода, он может использовать ключевое слово final для этого метода. Если метод отображения в классе A является окончательным, метод отображения в классе B выдаст ошибку, поскольку этот метод не может быть переопределен.

Разница между статическим и окончательным в Java_Рисунок 04
Разница между статическим и окончательным в Java_Рисунок 04

Рисунок 04: ключевое слово final в методе

Еще одним столпом ООП является наследование. Это помогает повторно использовать уже существующий код. Новый класс может расширяться из существующего класса и использовать элементы данных и методы существующего класса. Если требуется прекратить наследование класса, программист может использовать ключевое слово final. См. приведенную ниже программу.

Ke3y Разница между статическим и окончательным в Java
Ke3y Разница между статическим и окончательным в Java

Рисунок 05: последнее ключевое слово в классе

Согласно приведенной выше программе, класс A объявляется окончательным. Когда класс B расширяет A, это выдает ошибку, потому что класс A объявлен как final. Он не может быть унаследован другими классами.

В чем сходство между static и final в Java?

И static, и final являются ключевыми словами в Java

В чем разница между static и final в Java?

static vs final в Java

Статическое ключевое слово означает, что к переменной-члену или методу можно получить доступ, не требуя создания экземпляра класса, которому он принадлежит. Ключевое слово final обозначает сущность, которая может быть назначена только один раз.
Переменные
Статические переменные могут быть повторно инициализированы. Последние переменные не могут быть повторно инициализированы.
Методы
Может вызываться другими статическими методами и обращаться только к статическим членам класса. Последние методы нельзя переопределить.
Класс
Невозможно создать объект статического класса. Он содержит только статические члены. Конечный класс не может быть унаследован другими классами.
Блок
Ключевое слово static может использоваться в блоке. Ключевое слово final не используется с блоком.

Резюме - статика и финал в Java

В этой статье обсуждались два ключевых слова в Java, такие как static и final. Разница между static и final в Java заключается в том, что static используется для определения члена класса, который может использоваться независимо от любого объекта класса, а final используется для объявления постоянной переменной или метода, который не может быть переопределен, или класса, который не может быть переопределен. быть унаследованным.

Рекомендуемые: