Разница между Static и Final в Java

Оглавление:

Разница между Static и Final в Java
Разница между Static и Final в Java

Видео: Разница между Static и Final в Java

Видео: Разница между Static и Final в Java
Видео: Настя и сборник весёлых историй 2024, Ноябрь
Anonim

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

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

СОДЕРЖАНИЕ

1. Обзор и основные различия

2. Что является статическим в Java

3. Что является окончательным в Java

4. Сходства между static и final в Java

5. Сравнение бок о бок - статическое и окончательное в Java в табличной форме

6. Резюме

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

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

Разница между static и final в Java
Разница между static и final в Java

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

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

Разница между static и final в Java Figure 02
Разница между static и final в Java Figure 02

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

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

Что окончательно в Java?

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

Разница между static и final в Java Figure 03
Разница между static и final в Java Figure 03

Рисунок 03: Программа с финальной переменной и наследованием

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

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

Разница между static и final в Java Figure 04
Разница между static и final в Java Figure 04

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

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

Ke3y: разница между статикой и окончанием в Java
Ke3y: разница между статикой и окончанием в Java

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

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

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

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

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

Различать статью в середине перед таблицей

статический против финального в Java

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

Резюме - статическое против окончательного в Java

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

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