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>