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

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

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

СОДЕРЖАНИЕ

1. Обзор и основные отличия
2. Что статично в Java
3. Что является окончательным в Java
4. Сходство между статическим и конечным в Java
5. Сравнение бок о бок - статический и финальный в Java в табличной форме
6. Резюме

Что статично в Java?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В чем сходство статического и конечного в Java?

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

В чем разница между статическим и финальным в Java?

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

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

Резюме - статический против окончательный на Яве

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

Ссылка:

1.Что такое статическое ключевое слово в Java | статический метод и статическая переменная, Telusko Learings, 6 марта 2015 г. Доступно здесь  
2.7.16 Как использовать статический блок в руководстве по Java, Telusko Learings, 30 апреля 2015 г. Доступно здесь
3.8.13 Как использовать Final Keyword в Java | Метод, класс и переменная, Telusko Learings, 26 февраля 2015 г. Доступно здесь