Мегаобучалка Главная | О нас | Обратная связь


Структура проекта 10-8



2016-01-26 364 Обсуждений (0)
Структура проекта 10-8 0.00 из 5.00 0 оценок




Вложенные и внутренние классы

Существует возможность определения одного класса внутри другого. Такие классы называются вложенными (nested) классами. Область видимости вложенного класса ограничивается областью видимости включающего класса.

Таким образом, если класс B определен внутри класса А, то B известен внутри А, но не вне его.

Вложенный класс имеет доступ к членам класса (включая private-члены), в который он вложен. Однако, включающий класс не имеет доступа к членам вложенного класса.

Существует два типа вложенных классов: статические и нестатические.

Статический вложенный класс – это класс, который имеет модификатор static. Согласно своей характеристике, он должен обращаться к нестатическим членам своего включающего класса только через объект. Т.е. он не может обратиться к членам включающего класса напрямую. Из-за этого ограничения статические вложенные классы используются редко.

Мы использовали статический вложенный класс Student в проектах 8.1 и 8.2 для реализации структуры данных типа «запись» только потому, что не знали, что класс Student можно реализовать отдельно от класса, который содержит статический метод main().

Внимание! Нет смысла делать класс вложенным, если не требуется обращение из этого класса к полям включающего класса напрямую.

 

Наиболее важный тип вложенного класса – внутренний (inner) класс.

Внутренний класс – это нестатический вложенный класс, имеющий доступ ко всем переменным и методам своего внешнего класса и возможность обращаться к ним напрямую таким же способом, как это делают другие нестатические члены внешнего класса.

 

public class Outer{

// Демонстрирует внутренний класс

int outer_x=100;

void test(){

Inner inner=new Inner();

inner.disply();

}

//Это внутренний класс

class Inner {

void disply(){

System.out.print ("В методе disply: ");

System.out.println ("outer_x = "+outer_x);

}

} // class Inner

} // class Outer

public class InnerClassDemo{

public static void main (String []args){

Outer outer=new Outer();

outer.test();

outer.outer_x=200;

outer.test();

}

}

 

 

Взаимодействие объектов, связанных иерархически. Реализация списка объектов на основе массива фиксированной длины. Возврат методом объекта (ссылки на объект) и массива объектов (ссылки на массив объектов)

Если переменная экземпляра имеет объектный тип, получаем дерево с тремя и более уровнями

 

 

 

Структура проекта 10-8

public class Student { // реализует запись о студенте

// поля общедоступные

public int num_z; //номер зачетки - ключевое

public String name; // фамилия

public double ball; // средний балл по последней сессии

public String hobby; //хобби

//методы

// конструктор с параметрами



2016-01-26 364 Обсуждений (0)
Структура проекта 10-8 0.00 из 5.00 0 оценок









Обсуждение в статье: Структура проекта 10-8

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (364)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)