В этой статье кратко анализируется использование статического в Java, и в основном пять аспектов: статические переменные элемента, статические методы, статические блоки, статические внутренние классы и статические пакеты.
Прежде всего, давайте поговорим о разнице между статическими объектами и нестатическими объектами в таблице:
| Статические объекты | Нестатические объекты | |
| Атрибуция | Классы имеют | Каждый экземпляр класса принадлежит независимо |
| Распределение памяти | Исправлена в пространстве памяти | Партнерский класс назначение |
| Распределение космического порядка | Распределить распределение пространства статического объекта | Приоритет выделяет статическое пространство объектов, и то же самое относится и к инициализации |
1 статические переменные, статические методы, статические блоки
Статические объекты и статические методы украшены статическими ключевыми словами на исходных объектах и методах, что указывает на то, что класс может вызвать их непосредственно, не испытывая их создания, прежде чем вызывать их. Преимущества:
1-Данные статических объектов глобально уникальны, и они могут обеспечить уникальность данных.
2-Обеспечение цитирования, просто используйте имя класса и метод (свойства) напрямую, нет необходимости получать и установить
Конечно, статические методы (переменные, блоки) также имеют соответствующие ограничения:
1-нет других нестатических методов можно назвать (можно назвать только статические методы)
2-только доступ к статическим данным
3-это или супер не может быть упомянуто никоим образом
Пример кода:
открытый класс staticexercise {public static String Sky = "Jeyson"; Public Static String getMysky (String Sky) {return Sky;} static {System.out.println ("Это содержание в статическом блоке-"); System.out.println ("Статический блок:"+getmysk глобально уникальный, и может быть гарантировано, что данные уникальны. * 2-Ссылка удобна, просто используйте имя и метод класса, без установки и получить* *** назначить пространственный заказ:* Сначала распределите пространство статического объекта, а затем нестатическое. Порядок инициализации одинаковы* *** Статические конечные измененные переменные члена, и методы членов могут быть поняты как глобальные переменные (не существует концепции глобальных переменных в Java)* *** Ограничения статических объектов, методов и блоков:* только 1 вызовы другие статические методы* 2 Статические данные* 3-это или супер. teststatic1 () {System.out.println (Sky); System.out.println ("-----------------"); System.out.println (getmysky (Sky)); System.out.println ("---------------------"); 2 статический внутренний класс
Когда один класс тесно связан с другим классом (внешним классом), а класс обычно используется только при использовании внешнего класса, класс можно использовать в качестве статического внутреннего класса. Это может быть сгенерировано непосредственно по мере загрузки класса. Не нужно создавать его.
Метод использования: загружен с помощью класса и вызовите прямой внешний класс, внутренний класс, статический объект (метод)
Пример кода:
Класс Statictest {public Static String Sms = "To My Sky"; Public Static String getSms () {return sms;}/*** Статический внутренний класс**** Сценарий использования:*Внутренний класс тесно связан с внешним классом, и этот класс обычно используется только при использовании внешнего класса *** Использование*Он загружается с классом, непосредственно внешним классом. Внутренний класс. Статический объект (метод)*/статический класс InnerStatic {public Static Final String mysky = "my final sky";}} @testpublic void teststatic2 () {System.out.println (statictest.innerStatic.mysky);};};};};};};};};};}; 2 Статический гид -пакет
Если класс, в котором статический метод, который вы хотите использовать, не в том же пакете, что и текущий класс, вы можете использовать статический пакет доставки. Таким образом, статический метод или переменная, которую вы хотите использовать, эквивалентен тому, чтобы быть непосредственно видимым в классе, и нет необходимости вызывать имя класса или статическую переменную.
Как использовать:
Импорт Статический Пакет Имя.
выгода:
Импортированные статические переменные и методы непосредственно видны в этом классе и непосредственно используются
вред:
В некоторой степени читаемость кода снижается
Пример кода:
открытый класс MyStaticimPortTest {public static final int number = 55; public static void getmywords () {System.out.println ("Привет, это тест статического ведущего пакета");}} Импорт STATIC COM.Generic.myStaticImporttest.number; Importtatice com.generic.myStaticeSporttest. Staticexercise {/*** Статический лидерный пакет* *** Метод использования:* Прямой статический импорт Соответствующие переменные и методы: (Импорт Статический пакет Имя. Имя класса. Статическая переменная члена (Метод)* Импорт статический com.generic.mystaticimporttest.number;* Импорт Static Com.generic.myStaticimportStest. Нет необходимости давать имя класса* *** Недостатки* в определенной степени уменьшить читаемость кода*/@testpublic void teststatic3 () {// После статического импорта вы можете использовать int mynumber = number; getmywords ();}}Выше приведено краткий анализ использования статических ключевых слов в Java, представленных вам редактором. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!