HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><li><a>Терминология - что может пригодиться</a></li>
1 <ul><li><a>Терминология - что может пригодиться</a></li>
2 <li><a>Классы - основная информация</a><ul><li><a>Типы классов</a></li>
2 <li><a>Классы - основная информация</a><ul><li><a>Типы классов</a></li>
3 </ul></li>
3 </ul></li>
4 <li><a>Полезная информация о методах</a><ul><li><a>Доступ: модификаторы</a></li>
4 <li><a>Полезная информация о методах</a><ul><li><a>Доступ: модификаторы</a></li>
5 </ul></li>
5 </ul></li>
6 <li><a>Интерфейс - это…</a><ul><li><a>Преимущества и недостатки</a></li>
6 <li><a>Интерфейс - это…</a><ul><li><a>Преимущества и недостатки</a></li>
7 <li><a>Основная информация</a><ul><li><a>Поля-константы</a></li>
7 <li><a>Основная информация</a><ul><li><a>Поля-константы</a></li>
8 <li><a>Абстрактные методы</a></li>
8 <li><a>Абстрактные методы</a></li>
9 <li><a>О вложенности</a></li>
9 <li><a>О вложенности</a></li>
10 <li><a>Аннотации, перечисления</a></li>
10 <li><a>Аннотации, перечисления</a></li>
11 <li><a>Обобщенный тип</a></li>
11 <li><a>Обобщенный тип</a></li>
12 <li><a>Статистические методы</a></li>
12 <li><a>Статистические методы</a></li>
13 </ul></li>
13 </ul></li>
14 </ul></li>
14 </ul></li>
15 <li><a>Swing в Java и пример утилиты</a></li>
15 <li><a>Swing в Java и пример утилиты</a></li>
16 </ul><p>Программирование, благодаря современным тенденциям, стало весьма перспективным делом. Существуют разнообразные языки, при помощи которых разработчики создают софт и приложения. Огромную популярность в последние годы набрал Java. Он является не слишком сложным, особенно при наличии первоначальных навыков в программировании.</p>
16 </ul><p>Программирование, благодаря современным тенденциям, стало весьма перспективным делом. Существуют разнообразные языки, при помощи которых разработчики создают софт и приложения. Огромную популярность в последние годы набрал Java. Он является не слишком сложным, особенно при наличии первоначальных навыков в программировании.</p>
17 <p>Джава имеет свои ключевые особенности. При кодинге на нем юзеры будут задействовать разнообразные элементы. Пример - интерфейсы. С соответствующим словом знаком каждый, ведь трудно представить приложение или игру без оного. Если рассматривать термин в широком смысле, то это - своеобразный "пульт", при помощи которого пользователь способен взаимодействовать с компьютером/контентом. Но интерфейсы в Java - это нечто иное. О соответствующем элементе должен знать каждый программист.</p>
17 <p>Джава имеет свои ключевые особенности. При кодинге на нем юзеры будут задействовать разнообразные элементы. Пример - интерфейсы. С соответствующим словом знаком каждый, ведь трудно представить приложение или игру без оного. Если рассматривать термин в широком смысле, то это - своеобразный "пульт", при помощи которого пользователь способен взаимодействовать с компьютером/контентом. Но интерфейсы в Java - это нечто иное. О соответствующем элементе должен знать каждый программист.</p>
18 <h2>Терминология - что может пригодиться</h2>
18 <h2>Терминология - что может пригодиться</h2>
19 <p>Перед тем, как изучать понятие interface и его особенности в Джава, каждый должен запомнить несколько терминов. Без них раскрытие рассматриваемых направлений будет значительно затруднено:</p>
19 <p>Перед тем, как изучать понятие interface и его особенности в Джава, каждый должен запомнить несколько терминов. Без них раскрытие рассматриваемых направлений будет значительно затруднено:</p>
20 <ol><li>Переменная - основной объект, с которым будет работать пользователь. Единица хранилища данных.</li>
20 <ol><li>Переменная - основной объект, с которым будет работать пользователь. Единица хранилища данных.</li>
21 <li>Класс - своеобразный шаблон, посредством которого в приложении описываются объекты, их свойства и поведение.</li>
21 <li>Класс - своеобразный шаблон, посредством которого в приложении описываются объекты, их свойства и поведение.</li>
22 <li>Метод - операция, размещаемая внутри свойств. Манипуляции, проводимые над "составляющими" кода в установленных "рамках". Своеобразный блок, размещенный внутри класса.</li>
22 <li>Метод - операция, размещаемая внутри свойств. Манипуляции, проводимые над "составляющими" кода в установленных "рамках". Своеобразный блок, размещенный внутри класса.</li>
23 <li>Рефлексия - исследование информации о программе непосредственно при выполнении написанного кода.</li>
23 <li>Рефлексия - исследование информации о программе непосредственно при выполнении написанного кода.</li>
24 <li>Аннотации - указатели/пометки, задействованные разработчиком для указания компилятору инструкций относительно того, что делать с определенными участками кода помимо выполнения программы.</li>
24 <li>Аннотации - указатели/пометки, задействованные разработчиком для указания компилятору инструкций относительно того, что делать с определенными участками кода помимо выполнения программы.</li>
25 </ol><p>Изучая interfaces в Джаве, программистам сначала требуется хорошенько разобраться в методах и классах. В противном случае не исключена путаница, способная привести к серьезным проблемам при написании кодов.</p>
25 </ol><p>Изучая interfaces в Джаве, программистам сначала требуется хорошенько разобраться в методах и классах. В противном случае не исключена путаница, способная привести к серьезным проблемам при написании кодов.</p>
26 <h2>Классы - основная информация</h2>
26 <h2>Классы - основная информация</h2>
27 <p>Класс - весьма важная составляющая Джава, хотя он не является ни методом, ни интерфейсом. Это - конструкция, дающая возможность составления описаний элементов кода, их свойств и "характер" поведения в том или ином случае.</p>
27 <p>Класс - весьма важная составляющая Джава, хотя он не является ни методом, ни интерфейсом. Это - конструкция, дающая возможность составления описаний элементов кода, их свойств и "характер" поведения в том или ином случае.</p>
28 <p>У классов имеются следующие составляющие:</p>
28 <p>У классов имеются следующие составляющие:</p>
29 <ul><li>название (имя);</li>
29 <ul><li>название (имя);</li>
30 <li>ключевое слово - в качестве него выступает "class" (без кавычек);</li>
30 <li>ключевое слово - в качестве него выступает "class" (без кавычек);</li>
31 <li>описание объекта (прописывается в фигурных скобках).</li>
31 <li>описание объекта (прописывается в фигурных скобках).</li>
32 </ul><p>Параметр класса - переменная, которая описывает свойства соответствующего элемента в коде.</p>
32 </ul><p>Параметр класса - переменная, которая описывает свойства соответствующего элемента в коде.</p>
33 <h3>Типы классов</h3>
33 <h3>Типы классов</h3>
34 <p>Рассматривая интерфейсы (не пользовательские, а в программировании на Джаве), стоит обратить внимание на методы и классы. Classes бывают разными. Их можно указывать внутри других классов. Выделяют следующие виды:</p>
34 <p>Рассматривая интерфейсы (не пользовательские, а в программировании на Джаве), стоит обратить внимание на методы и классы. Classes бывают разными. Их можно указывать внутри других классов. Выделяют следующие виды:</p>
35 <ul><li>внутренние вложенные - это нестатистические классы, располагаемые внутри внешних ("публичные" или public class);</li>
35 <ul><li>внутренние вложенные - это нестатистические классы, располагаемые внутри внешних ("публичные" или public class);</li>
36 <li>статистические вложенные;</li>
36 <li>статистические вложенные;</li>
37 <li>анонимные - создаваемые по мере работы программы, заранее не предопределены;</li>
37 <li>анонимные - создаваемые по мере работы программы, заранее не предопределены;</li>
38 <li>локальные - располагаемые в коде непосредственно внутри заданных методов.</li>
38 <li>локальные - располагаемые в коде непосредственно внутри заданных методов.</li>
39 </ul><p>Немаловажными являются методы в программировании. Их наличие значительно облегчают процесс коддинга.</p>
39 </ul><p>Немаловажными являются методы в программировании. Их наличие значительно облегчают процесс коддинга.</p>
40 <h2>Полезная информация о методах</h2>
40 <h2>Полезная информация о методах</h2>
41 <p>Методом называют именованный блок кода, который объявляется внутри класса. Включает в себя законченную последовательность инструкций, необходимых для решения поставленных перед программером задач.</p>
41 <p>Методом называют именованный блок кода, который объявляется внутри класса. Включает в себя законченную последовательность инструкций, необходимых для решения поставленных перед программером задач.</p>
42 <p>Метод выступает в качестве функции. Тем, что умеет делать рассматриваемый класс. В других языках программирования тоже присутствуют функции. Но в Java они включены в члены классов. Согласно установленным правилам, зовутся методами.</p>
42 <p>Метод выступает в качестве функции. Тем, что умеет делать рассматриваемый класс. В других языках программирования тоже присутствуют функции. Но в Java они включены в члены классов. Согласно установленным правилам, зовутся методами.</p>
43 <h3>Доступ: модификаторы</h3>
43 <h3>Доступ: модификаторы</h3>
44 <p>Модификаторы доступа позволяют указать определенную "зону видимости" класса. Это - ограничитель, при помощи которого устанавливаются рамки дозволенного применения того или иного метода/переменной.</p>
44 <p>Модификаторы доступа позволяют указать определенную "зону видимости" класса. Это - ограничитель, при помощи которого устанавливаются рамки дозволенного применения того или иного метода/переменной.</p>
45 <p>Java предусматривает следующие модификаторы:</p>
45 <p>Java предусматривает следующие модификаторы:</p>
46 <ol><li>Public. Методы/поля с подобной "пометкой" видны и доступны другим классам как из текущего пакета, так и из внешних "хранилищ". Наиболее широкий уровень доступа к информации.</li>
46 <ol><li>Public. Методы/поля с подобной "пометкой" видны и доступны другим классам как из текущего пакета, так и из внешних "хранилищ". Наиболее широкий уровень доступа к информации.</li>
47 <li>Protected. Доступ предоставляется из любого места в пределах нынешнего класса/пакета или в классах, которые наследуются.</li>
47 <li>Protected. Доступ предоставляется из любого места в пределах нынешнего класса/пакета или в классах, которые наследуются.</li>
48 <li>Методы по умолчанию. Применяется, когда у рассматриваемого метода нет модификатора. Он будет виден всем классам в пределах текущего пакета.</li>
48 <li>Методы по умолчанию. Применяется, когда у рассматриваемого метода нет модификатора. Он будет виден всем классам в пределах текущего пакета.</li>
49 <li>Private. Полная противоположность "публичному" варианту. Методы с такой "пометкой" видны исключительно в пределах класса, где прописаны.</li>
49 <li>Private. Полная противоположность "публичному" варианту. Методы с такой "пометкой" видны исключительно в пределах класса, где прописаны.</li>
50 </ol><p>Вся эта информация пригодится тем, кто планирует работать с методами, а также заниматься созданием интерфейсов в Java.</p>
50 </ol><p>Вся эта информация пригодится тем, кто планирует работать с методами, а также заниматься созданием интерфейсов в Java.</p>
51 <h2>Интерфейс - это…</h2>
51 <h2>Интерфейс - это…</h2>
52 <p>Интерфейс - основная составляющая в Джаве. Используется не только в JDK, но и при составлении шаблонов проектирования, фреймворках, инструментарии. Помогают обеспечивать абстракции в соответствующем языке программирования. Тесно связаны с методами.</p>
52 <p>Интерфейс - основная составляющая в Джаве. Используется не только в JDK, но и при составлении шаблонов проектирования, фреймворках, инструментарии. Помогают обеспечивать абстракции в соответствующем языке программирования. Тесно связаны с методами.</p>
53 <p>Так принято описывать ссылочный тип, который похож чем-то на class. Своеобразную связь абстрактных методов. Может включать в себя дополнительно:</p>
53 <p>Так принято описывать ссылочный тип, который похож чем-то на class. Своеобразную связь абстрактных методов. Может включать в себя дополнительно:</p>
54 <ul><li>обычные методы;</li>
54 <ul><li>обычные методы;</li>
55 <li>константы;</li>
55 <li>константы;</li>
56 <li>статистические методы;</li>
56 <li>статистические методы;</li>
57 <li>вложенные типы.</li>
57 <li>вложенные типы.</li>
58 </ul><p>Тела методов имеют место только для обычного и статистического вариантов. Процесс написания схож с созданием class. Интерфейс включает в себя поведения реализации классов.</p>
58 </ul><p>Тела методов имеют место только для обычного и статистического вариантов. Процесс написания схож с созданием class. Интерфейс включает в себя поведения реализации классов.</p>
59 <h3>Преимущества и недостатки</h3>
59 <h3>Преимущества и недостатки</h3>
60 <p>Интерфейсы в программировании имеют немало преимуществ и недостатков, о которых необходимо знать. В Джаве к "сильным" сторонам interface относят:</p>
60 <p>Интерфейсы в программировании имеют немало преимуществ и недостатков, о которых необходимо знать. В Джаве к "сильным" сторонам interface относят:</p>
61 <ul><li>обеспечение контракта для всех classes, которые отвечают за реализацию интерфейса;</li>
61 <ul><li>обеспечение контракта для всех classes, которые отвечают за реализацию интерфейса;</li>
62 <li>идеальную совместимость при создании начальных точек проекта;</li>
62 <li>идеальную совместимость при создании начальных точек проекта;</li>
63 <li>удобство применения при создании иерархии в коде.</li>
63 <li>удобство применения при создании иерархии в коде.</li>
64 </ul><p>Работать с интерфейсами удобно, но иногда программисты сталкиваются с рядом проблем:</p>
64 </ul><p>Работать с интерфейсами удобно, но иногда программисты сталкиваются с рядом проблем:</p>
65 <ul><li>методы интерфейса должны тщательно выбираться;</li>
65 <ul><li>методы интерфейса должны тщательно выбираться;</li>
66 <li>просто так удалить метод не получится - это приведет к ошибкам классовых компиляций;</li>
66 <li>просто так удалить метод не получится - это приведет к ошибкам классовых компиляций;</li>
67 <li>при наличии собственных методов использование оных непосредственно в коде невозможно.</li>
67 <li>при наличии собственных методов использование оных непосредственно в коде невозможно.</li>
68 </ul><p>С одной стороны интерфейсы - это удобно. Но для начинающих их активное применение может создать определенные трудности. Поэтому пользоваться соответствующим объектом требуется крайне осторожно.</p>
68 </ul><p>С одной стороны интерфейсы - это удобно. Но для начинающих их активное применение может создать определенные трудности. Поэтому пользоваться соответствующим объектом требуется крайне осторожно.</p>
69 <h3>Основная информация</h3>
69 <h3>Основная информация</h3>
70 <p>Перед тем, как использовать Swing и другие инструменты, чтобы создать пользовательский интерфейс, важно изучить некие "основные" данные о соответствующем объекте. Для начинающих это - крайне значимый этап.</p>
70 <p>Перед тем, как использовать Swing и другие инструменты, чтобы создать пользовательский интерфейс, важно изучить некие "основные" данные о соответствующем объекте. Для начинающих это - крайне значимый этап.</p>
71 <p>Запомнить предстоит следующие данные:</p>
71 <p>Запомнить предстоит следующие данные:</p>
72 <ul><li>ключевое слово - interface;</li>
72 <ul><li>ключевое слово - interface;</li>
73 <li>экземпляр интерфейса в Java не подлежит созданию;</li>
73 <li>экземпляр интерфейса в Java не подлежит созданию;</li>
74 <li>интерфейсы отвечают за обеспечение абсолютной абстракции;</li>
74 <li>интерфейсы отвечают за обеспечение абсолютной абстракции;</li>
75 <li>интерфейс в Джаве не имеет конструкторов, а также методов с реализацией;</li>
75 <li>интерфейс в Джаве не имеет конструкторов, а также методов с реализацией;</li>
76 <li>изначально атрибут интерфейса выступает как public void, static и final, поэтому модификаторы доступа определять нет никакой необходимости;</li>
76 <li>изначально атрибут интерфейса выступает как public void, static и final, поэтому модификаторы доступа определять нет никакой необходимости;</li>
77 <li>методы интерфейсов по умолчанию abstract и public, а реализацией занимаются подклассы оных;</li>
77 <li>методы интерфейсов по умолчанию abstract и public, а реализацией занимаются подклассы оных;</li>
78 <li>интерфейсы не выступают подклассами других классов;</li>
78 <li>интерфейсы не выступают подклассами других классов;</li>
79 <li>для того, чтобы classes могли реализовывать интерфейсы, задействуют ключевое слово implements.</li>
79 <li>для того, чтобы classes могли реализовывать интерфейсы, задействуют ключевое слово implements.</li>
80 </ul><p>Также, если класс реализует интерфейс, он должен обеспечить реализацию всех его методов. Исключение - abstract class.</p>
80 </ul><p>Также, если класс реализует интерфейс, он должен обеспечить реализацию всех его методов. Исключение - abstract class.</p>
81 <h4>Поля-константы</h4>
81 <h4>Поля-константы</h4>
82 <p>Изначально интерфейсы в Java были элементарными. Они включали в себя всего два элемент: константы и абстрактные методы публичного типа.</p>
82 <p>Изначально интерфейсы в Java были элементарными. Они включали в себя всего два элемент: константы и абстрактные методы публичного типа.</p>
83 <p>Interface способен содержать поля, как и обычные классы. Но в данном случае выделяют следующие отличия:</p>
83 <p>Interface способен содержать поля, как и обычные классы. Но в данном случае выделяют следующие отличия:</p>
84 <ul><li>поля обязательно инициализируются;</li>
84 <ul><li>поля обязательно инициализируются;</li>
85 <li>относятся к публичным статистическим финальным;</li>
85 <li>относятся к публичным статистическим финальным;</li>
86 <li>модификаторы не требуют явного указания.</li>
86 <li>модификаторы не требуют явного указания.</li>
87 </ul><p>Ниже приведен пример поля-константы.</p>
87 </ul><p>Ниже приведен пример поля-константы.</p>
88 <h4>Абстрактные методы</h4>
88 <h4>Абстрактные методы</h4>
89 <p>Это - самый важный момент для интерфейса. Соответствующие элементы отличаются от методов класса:</p>
89 <p>Это - самый важный момент для интерфейса. Соответствующие элементы отличаются от методов класса:</p>
90 <ul><li>здесь отсутствует так называемое тело;</li>
90 <ul><li>здесь отсутствует так называемое тело;</li>
91 <li>реализация осуществляется через классы, которые реализовывают сам интерфейс;</li>
91 <li>реализация осуществляется через классы, которые реализовывают сам интерфейс;</li>
92 <li>методы являются публичными и абстрактными даже без прописывания соответствующей информации;</li>
92 <li>методы являются публичными и абстрактными даже без прописывания соответствующей информации;</li>
93 <li>не могут быть финальными.</li>
93 <li>не могут быть финальными.</li>
94 </ul><p>Пример метода:</p>
94 </ul><p>Пример метода:</p>
95 <p>Public interface MyInterface {</p>
95 <p>Public interface MyInterface {</p>
96 <p>Int sdelatchoto();</p>
96 <p>Int sdelatchoto();</p>
97 <p>String sdelatchotoCompletelyDifferent();</p>
97 <p>String sdelatchotoCompletelyDifferent();</p>
98 <p>}</p>
98 <p>}</p>
99 <h4>О вложенности</h4>
99 <h4>О вложенности</h4>
100 <p>По мере развития Джава начал предлагать разработчикам больше составляющих, включаемых в интерфейсы. Начиная с версии 1.1, появилась так называемая вложенность. Интерфейсы могут включать в себя другие интерфейсы, а также classes.</p>
100 <p>По мере развития Джава начал предлагать разработчикам больше составляющих, включаемых в интерфейсы. Начиная с версии 1.1, появилась так называемая вложенность. Интерфейсы могут включать в себя другие интерфейсы, а также classes.</p>
101 <p>Подобные интерфейсы, даже при отсутствии соответствующих указателей, будут рассматриваться в качестве публичных и статистических.</p>
101 <p>Подобные интерфейсы, даже при отсутствии соответствующих указателей, будут рассматриваться в качестве публичных и статистических.</p>
102 <h4>Аннотации, перечисления</h4>
102 <h4>Аннотации, перечисления</h4>
103 <p>С Java 5 появились аннотации и перечисления. Эти элементы весьма сложные для начинающих, поэтому сразу с ними работать не рекомендуется. Но они тоже могут быть включены непосредственно в интерфейсы.</p>
103 <p>С Java 5 появились аннотации и перечисления. Эти элементы весьма сложные для начинающих, поэтому сразу с ними работать не рекомендуется. Но они тоже могут быть включены непосредственно в интерфейсы.</p>
104 <h4>Обобщенный тип</h4>
104 <h4>Обобщенный тип</h4>
105 <p>Также появились обобщенные типы - "дженерики". Они позволяют задействовать обобщенный тип вместо указания конкретного. Так, при написании кода с разным числом типов, реализация будет предоставляться для каждого "варианта" без угрозы безопасности коду.</p>
105 <p>Также появились обобщенные типы - "дженерики". Они позволяют задействовать обобщенный тип вместо указания конкретного. Так, при написании кода с разным числом типов, реализация будет предоставляться для каждого "варианта" без угрозы безопасности коду.</p>
106 <p>Обобщенный тип в интерфейсе может использоваться как возвращаемое значение метода или его аргумента.</p>
106 <p>Обобщенный тип в интерфейсе может использоваться как возвращаемое значение метода или его аргумента.</p>
107 <h4>Статистические методы</h4>
107 <h4>Статистические методы</h4>
108 <p>С 8 версии Джава интерфейсы начали включать в себя статистические методы. В этом случае тело метода тоже в interface передается на реализацию. Для применения подобного приема используется ключевое слово static.</p>
108 <p>С 8 версии Джава интерфейсы начали включать в себя статистические методы. В этом случае тело метода тоже в interface передается на реализацию. Для применения подобного приема используется ключевое слово static.</p>
109 <p>Наследование и статистические методы в интерфейсах</p>
109 <p>Наследование и статистические методы в интерфейсах</p>
110 <p>Статистические методы в Java при работе с так называемыми интерфейсами не наследуются. Соответственно, для его вызова требуется осуществить вызов напрямую из интерфейса.</p>
110 <p>Статистические методы в Java при работе с так называемыми интерфейсами не наследуются. Соответственно, для его вызова требуется осуществить вызов напрямую из интерфейса.</p>
111 <p>Это очень удобно - прием помогает избежать всевозможных проблем при реализации кода. Пример - когда класс отвечает за работу нескольких интерфейсов.</p>
111 <p>Это очень удобно - прием помогает избежать всевозможных проблем при реализации кода. Пример - когда класс отвечает за работу нескольких интерфейсов.</p>
112 <h2>Swing в Java и пример утилиты</h2>
112 <h2>Swing в Java и пример утилиты</h2>
113 <p>Пользовательский интерфейс Java можно создать при помощи Swing. Это - инструмент для работы с рассматриваемым объектом, оснащенный графическим интерфейсом. Часть JFC, построенная на основе AWT API.</p>
113 <p>Пользовательский интерфейс Java можно создать при помощи Swing. Это - инструмент для работы с рассматриваемым объектом, оснащенный графическим интерфейсом. Часть JFC, построенная на основе AWT API.</p>
114 <p>Использует виджеты и различные классы:</p>
114 <p>Использует виджеты и различные классы:</p>
115 <ul><li>JButton Class - помеченная кнопка;</li>
115 <ul><li>JButton Class - помеченная кнопка;</li>
116 <li>JTextField - редактирование однострочного текста;</li>
116 <li>JTextField - редактирование однострочного текста;</li>
117 <li>JScrollBar - добавляет полосу прокрутки;</li>
117 <li>JScrollBar - добавляет полосу прокрутки;</li>
118 <li>JPannel - предоставление пространства для утилиты;</li>
118 <li>JPannel - предоставление пространства для утилиты;</li>
119 <li>JMenu - отвечает за выпадающее меню;</li>
119 <li>JMenu - отвечает за выпадающее меню;</li>
120 <li>JList - предоставление списка текстовых составляющих;</li>
120 <li>JList - предоставление списка текстовых составляющих;</li>
121 <li>JLabel - размещение текста в контейнере;</li>
121 <li>JLabel - размещение текста в контейнере;</li>
122 <li>JComboBox - всплывающее меню выбора в приложении;</li>
122 <li>JComboBox - всплывающее меню выбора в приложении;</li>
123 <li>GridBag Layout - размещение компонентов по сетке.</li>
123 <li>GridBag Layout - размещение компонентов по сетке.</li>
124 </ul><p>И это - только начало. Выше представлен пример кода интерфейса фрейм чата.</p>
124 </ul><p>И это - только начало. Выше представлен пример кода интерфейса фрейм чата.</p>
125 <a></a>
125 <a></a>