<< >>
Способы объявления классов
В java их пять и с одним мы уже знакомы (один класс — один файл). Рассмотрим остальные:
class A { // нормальный класс
static class B {
} // статический вложенный класс
class C {
} // внутренний класс
void nekiy_metod1() {
class D {
} // локальный внутренний класс
}
void nekiy_metod2() {
// анонимный класс
Handler hndl = new Handler() {
void method1() {
}
};
}
}
2) Статические вложенные классы, не имеют доступа к нестатическим полям и методам высшего класса (A).
3) Обычный класс, но видимый только из класса A. Используется для последовательного доступа(java.util ...)
4) Как и в 3 примере, класс ничем не отличается от обычного, кроме своей видимости
5) Анонимный класс должен переопределять все абстрактные методы из высшего класса (в этой ситуации — Handler). Есть несколько особенностей — у анонимного класса (Опять я КО) нет имени, поэтому он не может быть явно вызван нигде, кроме места объявления. Также у него не может быть явного конструктора (по той-же причине).
Ну вот в принципе и все. Я вообще против теории в гигаколичествах (лучше уж практика), поэтому могу быть неточен в терминологии и объяснять скомкано. Все прелести этих классов раскроются в следующих туториалах (а если не раскроются — то они малозначимы для небольших проектов)
Следующие туториалы будут расширять знания о стандартных функций в java (всяческие надстройки к массивам и тп), GUI, возможно базовые сетевые операции и (ну это уже совсем специфичное) работа с базами данных mySQL через коннектор.
В который раз забываю про перегрузку функций, полиморфизм и generic. В этот туториал пихать не хочу, пускай распределиться по следующим 2-3.
Где-то с туториала №4 начнет выходить(периодичность назвать не могу) туториалы по программированию под bukkit(это такая обертка-API для minecraft server). Даже если вам не требуется это — советую поковырять, могут быть интересные фишки.
~~~~~~~~~~~
Я сегодня (чисто для интереса) посмотрел пару туториалов по pyton. Всплыл вопрос: что сейчас нашли в этом бейсикообразном языке? Он же ТАКОЙ-ЖЕ, как и бейсик ёмаё (мой первый ЯП :) )! Никто не в курсе?
Лучшие комментарии
я всё это ради примеров и читаю…
Для того, чтобы объяснить это, надо было рассказать и про хендлер, и про логгер. Наверно надо было это воткнуть в гуи… сегодня напишу
Не откажусь от ссылки в ЛС =)
Дооо! Вот это будет настоящий pro-туториал =)
Только большая часть — примеры.
Это была бы солянка.
//сорри, что без подсветки
void nekiy_metod2() {
// анонимный класс
Handler hndl = new Handler() {
void method1() {
}
};
}
Да по одним этим строкам можно целый туториал написать. (ну, т.е о классах внутри методов, что такое Handler etc)
Честно говоря, этот меньше понравился, чем предыдущие.