24 августа 2011 24.08.11 8 1907

Туториал по java (pro) №2.5

+6

<< >>

Способы объявления классов

В 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. Всплыл вопрос: что сейчас нашли в этом бейсикообразном языке? Он же ТАКОЙ-ЖЕ, как и бейсик ёмаё (мой первый ЯП :) )! Никто не в курсе?


Лучшие комментарии

Ну вот. Чего-то спать захотелось в два ночи, со мной что-то не так… Завтра будет нормальный многобуквенный тутор
Угу. А туториал про массивы и методы, связанные со строками не солянка, нет.
большая часть — примеры

я всё это ради примеров и читаю…
отлично! :3 но я уже в универе это изучил и пытаюсь забыть =)
Дада, видел я статью на 3 печатные страницы. Надо?
Для того, чтобы объяснить это, надо было рассказать и про хендлер, и про логгер. Наверно надо было это воткнуть в гуи… сегодня напишу
статью на 3 печатные страницы

Не откажусь от ссылки в ЛС =)

надо было рассказать и про хендлер, и про логгер.

Дооо! Вот это будет настоящий pro-туториал =)
Угу, теория-это конечно зло, и всё такое, но пару предложений про *и зачем это всё надо* не помешали бы, имхо.
//сорри, что без подсветки

void nekiy_metod2() {
// анонимный класс
Handler hndl = new Handler() {
void method1() {
}
};
}

Да по одним этим строкам можно целый туториал написать. (ну, т.е о классах внутри методов, что такое Handler etc)
Честно говоря, этот меньше понравился, чем предыдущие.
Читай также