0 / 0 / 0
Регистрация: 10.11.2010
Сообщений: 41
1

Вложенные паблик классы. Спортивный интерес

04.06.2012, 21:16. Показов 1227. Ответов 6
Метки нет (Все метки)

Готовлюсь к собеседованию. Ради интереса поэкспериментировал. Создал класс для мэйна в одном файле и класс со вложенными классами в другом. Вот что получилось:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package asda;
 
public class C {
    public C(){
        
    }
    public class A{
        public A(){
            System.out.println("A");
        }
    }
    private class B{}
    
    public void abc(){
        A a=new A();
        B b=new B();
    }
}
Java
1
2
3
4
5
6
7
8
9
10
package asda;
 
public class sdasda{
    public static void main(String[] args){
        C c = new C();
        c.abc();
        C.A a;
        //a = new asda.C.A();
    }   
}
До момента комментарий все проходит на ура, даже эклипс мне предлагает юзать класс А для его реализации. Вот только одна загвоздка, когда решил создать класс А, все полетело в тартарары, не видит он его. Объясните неучу, загадочность феномена.
З.Ы. на решете данный код прошел на ура, ессесно с синтаксическими изменениями.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2012, 21:16
Ответы с готовыми решениями:

Вложенные классы и статические вложенные классы - нужен пример
Добрый вечер, форумчане! :) Поделитесь примерами практических задач, при решении которых полезно...

Дефрагментация. Спортивный интерес)
Прочитав про DominoDefrag, посоветовали админам. Они в ответ сказали, что: *Domino часто изменяет...

Производные классы паблик и приват
Здравствуйте, нужна помощь. Это пример из книги Лафоре ООП С++. Не могу понять почему программа...

классы, теоретический интерес
код1: from tkinter import * class But_print: def __init__(self): self.but =...

6
487 / 333 / 71
Регистрация: 24.12.2011
Сообщений: 591
04.06.2012, 21:41 2
Java
1
a = new C().new A();
1
0 / 0 / 0
Регистрация: 10.11.2010
Сообщений: 41
04.06.2012, 21:46  [ТС] 3
Премного благодарен. Просто мэджик.

Добавлено через 2 минуты
exiqa, а объяснение этой магии имеется какое-нибудь? и если какие-нибудь обходные пути, чтобы не задействовать конструктор класса C, он тоже срабатывает ?
0
2585 / 2258 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
04.06.2012, 21:51 4
вы лучше почитайте книжку про области видимости, модификатор static,
вложенные классы, анонимные классы, в 2 словах вам никто не расскажет, а если расскажет, то это будет неполное и отрывочное обьяснение
0
487 / 333 / 71
Регистрация: 24.12.2011
Сообщений: 591
05.06.2012, 00:32 5
http://docs.oracle.com/javase/... ested.html этого вполне хватит чтобы разобраться
0
Эксперт Java
4088 / 3822 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
05.06.2012, 14:56 6
Цитата Сообщение от TranE91 Посмотреть сообщение
а объяснение этой магии имеется какое-нибудь?
Внутренний класс - не статический, а значит привязан к объекту родительского класса. Может обращаться ко всем его членам и т.д.
Зачем оно действительно нужно я так и не смог придумать.
0
2585 / 2258 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
05.06.2012, 14:58 7
Цитата Сообщение от turbanoff Посмотреть сообщение
Зачем оно действительно нужно я так и не смог придумать.
чтобы реализовать патерн билдер
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2012, 14:58
Помогаю со студенческими работами здесь

Вложенные классы
Прошу разъяснить когда лучше их использовать и в чём их преимущества...

Вложенные классы
Как обратится к приватному полю класса(Builder), из вложенных в этот класс(Builder) классов...

Вложенные классы
Где можно почитать нормальную информацию о них? Читаю книгу С.Праты там непонятно что(привел внизу...

Вложенные классы
Вопрос в следующем. Привык создавать и хранить классы в отдельных файлах в проекте. Но как быть в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru