Статический: (Статический модификатор) Содержание статической модификации в объектно-ориентированном объекте принадлежит классу, не связанного непосредственно к объекту, поэтому переменные элемента, изменяемые статическими, обычно называют переменными члена класса, а метод статической модификации обычно называют методами класса.
Классификация:
1. Статические переменные, также называемые статическими переменными или классовыми переменными. Другой тип - это переменная, которая не модифицирована Static, называемой переменной экземпляра.
2. Статический метод, также называемый статическим методом или методом класса, не может определить статические переменные в статических методах, а методы экземпляра не могут.
3. Статический кодовый блок. В статическом блоке вы можете получить доступ к статическим переменным и вызовать статические методы.
Примечания:
1. Если статический не зависит от какого -либо объекта, этого метода нет.
2. Статический метод не может вызвать нестатический метод, но нестатический метод может вызвать статический метод.
3. Методы или переменные, модифицированные Static, не должны полагаться на объекты для доступа. Пока класс загружен, к ним можно получить доступ через имя класса.
4. Статический метод не может быть переписан. Когда подкласс и родительский класс имеют тот же статический метод, вызов по умолчанию является статическим методом родительского класса, а статический метод подкласса скрыт.
5. Статические блоки обычно используются для инициализации статических переменных в классах. На основании содержания статических модификаций следует принцип первого определения и первого выполнения.
6. Если часто называются переменные или методы, используйте статическую модификацию. В противном случае используйте его меньше, чтобы избежать утечки памяти.
Пример кода статических переменных:
открытый тест класса {static int a = 1; // Статическая переменная int b = 2; // переменная экземпляра public static void main (string [] args) {System.out.println (test.a); //System.out.print(a); system.out.println(b); // непосредственно выходная переменная B будет сообщать о тесте ошибки t = new Test (); // Создать систему объекта экземпляра. System.out.println (tb); // объект вызывает переменная}}Пример кода для статических методов:
открытый тест класса {static int a = 1; // Статическая переменная int b = 2; // переменная экземпляра static void a () {// Статический метод b (); // сообщается об ошибке, статический метод не может вызвать нестатическую систему метода.out.println (test.a); //System.out.print(a);) ;воид b () {// нестатический метод тест.a (); // a (); Нестатический метод может вызвать статическую систему методов.out.println (b); System.out.println (test.a); //System.out.print(a);) // a (); b (); // Сообщается об ошибке, не статические методы должны быть вызваны через тест объекта экземпляра t = new Test (); tb ();}}/***Можно ли быть переписанным*/Class Staticson Extends Test {// Подкласс наследует родительский класс void a () {// Ошибка сообщается, что статический метод не может быть повторно /*. Статический метод подкласса, строго говоря, это не статический метод родительского класса}}Пример статического кода блока:
открытый тест класса {int c = 3; статический int a = 1; static int b = 2; static {a = 10; b = 20; c = 30; // Сообщить об ошибке, переменная в статическом блоке должна быть static переменной System.out.println (a+b);} public static void main (string [] args) {test t = new Test (); System.out.println (tc); // сначала выполнить статическую переменную, затем выполните переменную экземпляра}} Финал: понимать как неизменное.
Примечания:
1. Финальные и статические часто используются вместе.
2. Переменные, измененные в конечном, могут быть назначены только один раз.
3. Окончательный метод не может быть переписан, но может быть перегружен.
4. Последний класс не может быть унаследован.
5. Два ключевых слов конечные и абстрактные противоположны, и невозможно одновременно изменить класс. Потому что окончательный не может быть переписан, а абстрактный должен быть переписан.
6. Окончательное ключевое слово отличается от окончательного ключевого слова, которое используется для обработки исключений.
7. В большинстве случаев окончательный не используется для изменения методов и классов, поскольку они не являются масштабируемыми.
8. Финал может быть использован в определенной среде для повышения производительности программы и оптимизации структуры программы.
Пример кода окончательных переменных и окончательных классов:
публичный окончательный тест класса {окончательный статический int a = 1; static {a = 10; // Сообщить об ошибке, может быть выполнена только одна операция назначения}} Class Finalson Extends Test {// Сообщить об ошибке, конечный класс не может быть унаследован}Пример кода окончательного метода:
Общедоступный тест класса {final Static int a = 1; final void a () {// final Method System.out.println (a);}} class finaltest extends test {void a () {// Ошибка сообщается, окончательный метод не может быть переписан.