Ключевое различие - статическое и окончательное в 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?
Класс состоит из элементов данных (атрибутов) и методов. Для вызова методов должен быть объект этого конкретного класса. Когда метод объявлен как статический, нет необходимости создавать объект для вызова этого метода. Метод можно вызвать по имени класса. Обратитесь к программе ниже.
Рисунок 01: Программа Java со статическими переменными и статическим методом
Согласно приведенной выше программе, класс A содержит числовую переменную и метод отображения. Оба являются статическими членами. Следовательно, нет необходимости создавать объект для доступа к числовой переменной и методу отображения. Программист может напрямую написать имя класса, чтобы распечатать номер и вызвать метод display. Таким образом, нет необходимости создавать экземпляр объекта. Если числовая переменная и метод отображения нестатичны, тогда должен быть объект типа A.
Рисунок 02: Использование статического блока
Вышеупомянутая программа содержит статический блок и основной метод. Статический блок вызывается при загрузке класса. Следовательно, оператор в статическом блоке выполняется перед оператором в основном блоке. Если статических блоков много, они будут выполняться последовательно.
Что окончательно в Java?
В программе могут быть переменные разных типов. Если есть переменная как int x = 1; позже в программе это значение переменной может быть изменено на другое значение. Переменная, объявленная как final и инициализированная значением, не может быть изменена позже в программе.
Рисунок 03: Программа с финальной переменной и наследованием
Согласно приведенной выше программе, x является конечной переменной. Ему присваивается значение 5. Его нельзя изменить какое-либо другое значение, потому что оно объявлено как окончательное. Java поддерживает объектно-ориентированное программирование (ООП). Одна из опор ООП - полиморфизм. Один тип полиморфизма является преобладающим. Класс A имеет метод отображения. Класс B расширяет класс A и имеет собственный метод отображения. При создании объекта типа B и вызове метода display на выходе будет выведено «B». Метод отображения класса A переопределяется методом отображения класса B.
Если программисту следует избегать переопределения метода, он может использовать ключевое слово final для этого метода. Если метод отображения в классе A является окончательным, метод отображения в B выдаст ошибку, потому что этот метод нельзя переопределить.
Рисунок 04: ключевое слово final в методе
Еще один столп ООП - наследование. Это помогает повторно использовать уже существующий код. Новый класс может расширяться от существующего класса и использовать элементы данных и методы существующего класса. Если требуется прекратить наследование класса, программист может использовать ключевое слово final. Обратитесь к программе ниже.
Рисунок 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 используется для объявления постоянной переменной или метода, который не может быть переопределен, или класса, который не может быть унаследованным.