Краткое описание:
Поскольку я столкнулся с множеством классов, которые в последнее время нуждаются в размышлениях, и среди них много внутренних классов. Здесь я суммирую правила полностью квалифицированных имен внутренних классов.
Участник внутренний класс
Результаты теста показывают, что независимо от того, является ли внутренний класс внутри члена статичным или нет, его полностью квалифицированное имя используется со следующим методом именования:
Имя пакета. Имя класса.
Тестовый код:
пакет com.test; public class innerclasstest {static class staticinner {} class inner {} public static void main (string [] args) {staticinner si = new Staticinner (); inner in = innerClasstest (). Inner (); System.out.println (si.getClass ()); System.out.println (in.getClass ());}}Результат печати:
classcom.test.innerclasstest $ staticinner
classcom.test.innerClasstest $ Inner
Анонимный внутренний класс
Полностью квалифицированные имена анонимных внутренних классов соответствуют следующим правилам:
Название пакета. Положительное целое число, начиная с внешнего имени класса $ 1 - расположено в порядке загрузки класса
Тестовый код
пакет com.test; public class innerclasstest {static object staticanclass = new object () {}; static obj {InnerClasStest functionClass = new InnerClasStest () {}; System.out.println (staticanclass.getClass ()); System.out.println (staticblockanclass.getClass ()); innerClasstest test = new InnerClasStest (); System.out.println (test.anclass.getClass ()); System.out.println (test.blockanclass.getClass ()); System.out.println (functionClass.getClass ());}} Результат печати:
Класс com.test.innerClasstest $ 1
Класс com.test.innerClasstest $ 2
Класс com.test.innerClasstest $ 3
Класс com.test.innerClasstest $ 4
Класс com.test.innerClasstest $ 5
Местные внутренние классы
Полностью квалифицированные названия локальных внутренних классов используются следующим образом:
Название пакета. Внешнее имя класса $ сопровождается положительным целым числом, начиная с 1, за которым следует имя локального класса - где числовая часть - это порядок, в котором локальный класс появляется в контексте внешнего класса
Тестовый код
пакет com.test; public class innerclasstest {public static void main (string [] args) {functa (); functionb ();} public static void function () {class inner {}; system.out.println (new inner (). getClass ());} public void functionb () {class inner (). Inner (). GetClass ());}} Приведенный выше пример печатает результат:
classcom.test.innerClasstest $ 1inner
classcom.test.innerClasstest $ 2inner
На основе тестового кода результат после обмена позициями функции и B в основном:
classcom.test.innerClasstest $ 2inner
classcom.test.innerClasstest $ 1inner
Результат обмена локациями деклараций Fincaa и B на основе тестового кода:
classcom.test.innerClasstest $ 2inner
classcom.test.innerClasstest $ 1inner
Суммировать
Выше приведено все содержание этой статьи о полностью квалифицированном примере кода правила имени во внутренних классах Java. Я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на другие связанные темы на этом сайте. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!