Гость
Форумы / Java [игнор отключен] [закрыт для гостей] / Объявление класса в классе / 18 сообщений из 18, страница 1 из 1
17.05.2019, 17:06
    #39814737
omarushchak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление класса в классе
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public class Solution {
    public static void main(String[] args) {
       
        Person person =new Person();
        
    }

    public static class Person {
        
         String name;
         int age, weight, money;
 
   }
}



Подскажите, как такое может быть. Как возможно объявлять класс в классе и не в отдельном файле. Дело, в том, что этот код работает. Но понять почему не могу.
Спасибо.
...
Рейтинг: 0 / 0
17.05.2019, 17:13
    #39814741
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление класса в классе
...
Рейтинг: 0 / 0
17.05.2019, 17:16
    #39814744
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление класса в классе
Спека языка это описывает здесь.

https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html

С точки зрения jvm и classloader - будут созданы две сущности.

Код: java
1.
2.
Solution.class
Solution$Person.class
...
Рейтинг: 0 / 0
17.05.2019, 18:10
    #39814762
Герой дня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление класса в классе
класс в классе удобен с точки зрения - если, например, класс сильно зависит от родительского класса или только для служебных целей (может быть приватным, например)
...
Рейтинг: 0 / 0
17.05.2019, 19:02
    #39814775
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление класса в классе
Герой дня,
+1 без нужды не делать.
...
Рейтинг: 0 / 0
17.05.2019, 19:11
    #39814779
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление класса в классе
Шаблон билдер обычно компонуют в 2 класса и 1 исходник.
...
Рейтинг: 0 / 0
17.05.2019, 23:05
    #39814811
asv79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление класса в классе
omarushchak
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public class Solution {
    public static void main(String[] args) {
       
        Person person =new Person();
        
    }

    public static class Person {
        
         String name;
         int age, weight, money;
 
   }
}



Подскажите, как такое может быть. Как возможно объявлять класс в классе и не в отдельном файле. Дело, в том, что этот код работает. Но понять почему не могу.
Спасибо.
у тебя гугл сломался чтоль дядь?
...
Рейтинг: 0 / 0
17.05.2019, 23:12
    #39814812
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление класса в классе
Герой днякласс в классе удобен с точки зрения - если, например, класс сильно зависит от родительского класса или только для служебных целей (может быть приватным, например)
когда тебе надо описать какую нибудь дикую ДТО с миллионом полей и миллионом уровней вложенности то вложенные классы просто прекрасны
...
Рейтинг: 0 / 0
18.05.2019, 11:10
    #39814844
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление класса в классе
andreykaTГерой днякласс в классе удобен с точки зрения - если, например, класс сильно зависит от родительского класса или только для служебных целей (может быть приватным, например)
когда тебе надо описать какую нибудь дикую ДТО с миллионом полей и миллионом уровней вложенности то вложенные классы просто прекрасныполучается что это проблема DTO которая не может собраться по связям. Нужно все пихать в один файл.
По твоему тексту так выходит.
...
Рейтинг: 0 / 0
18.05.2019, 11:14
    #39814845
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление класса в классе
нет. допустим, тебе надо с каким то сервисом синтегрироваться а он возвращает портянку с кучей вложенностей которые один фиг тебе нигде по отдельности не нужны будут. очень удобно в таком случае делать класс в классе. или даже класс в классе классе.
...
Рейтинг: 0 / 0
18.05.2019, 12:27
    #39814854
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление класса в классе
andreykaTнет. допустим, тебе надо с каким то сервисом синтегрироваться а он возвращает портянку с кучей вложенностей которые один фиг тебе нигде по отдельности не нужны будут. очень удобно в таком случае делать класс в классе. или даже класс в классе классе.не понял. Сервис классы не возвращает. Он возвращает JSON. Который я даже не смотрю.
andreykaTочень удобно в таком случае делать класс в классе. или даже класс в классе классе.
подробнее, что ты делаешь руками если пришла портянка JSON.
...
Рейтинг: 0 / 0
18.05.2019, 13:25
    #39814863
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление класса в классе
я ее скармливаю десеру, но ему нужен класс на что отобразить джейсон. можешь конечно отдельные поля выковыривать или мапить руками пути - как тебе больше нравится. а можешь просто создать кальку джейсона с такими же именами и тот дже джексон по дефолту их замапит. а что?
...
Рейтинг: 0 / 0
18.05.2019, 13:50
    #39814869
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление класса в классе
andreykaT,
просто
- отдельные классы легче читать глазами
- они реально отдельные в БД так как там отношения (3 вида)
Если это для DTO проблема, то так и скажи.
Не вижу преимущества.
имхо
...
Рейтинг: 0 / 0
18.05.2019, 14:05
    #39814872
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление класса в классе
впрочем, если вложенные классы получаются после генератора, то мне по барабану. Хоть в двоичном виде.
А в проектировании есть вложенный по ссылке.
...
Рейтинг: 0 / 0
20.05.2019, 13:56
    #39815344
Герой дня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление класса в классе
Petro123andreykaTнет. допустим, тебе надо с каким то сервисом синтегрироваться а он возвращает портянку с кучей вложенностей которые один фиг тебе нигде по отдельности не нужны будут. очень удобно в таком случае делать класс в классе. или даже класс в классе классе.не понял. Сервис классы не возвращает. Он возвращает JSON. Который я даже не смотрю.
andreykaTочень удобно в таком случае делать класс в классе. или даже класс в классе классе.
подробнее, что ты делаешь руками если пришла портянка JSON.

мне кажется, что сервисы возвращают модели и DTO
JSON возвращают контроллеры
...
Рейтинг: 0 / 0
20.05.2019, 14:01
    #39815345
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление класса в классе
Герой днямне кажется, что сервисы возвращают модели и DTOя так понял сервис это слой в архитектуре, а веб сервис по РЕСТ.
Тогда этот сервис вернул json.
...
Рейтинг: 0 / 0
20.05.2019, 14:01
    #39815347
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление класса в классе
Petro123сервис это слой в архитектуре, а веб сервис по РЕСТ.НЕ слой в архитектуре
...
Рейтинг: 0 / 0
20.05.2019, 17:35
    #39815432
Герой дня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление класса в классе
Petro123Petro123сервис это слой в архитектуре, а веб сервис по РЕСТ.НЕ слой в архитектуре

понятно! )
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Объявление класса в классе / 18 сообщений из 18, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]