powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Объявление класса в классе
18 сообщений из 18, страница 1 из 1
Объявление класса в классе
    #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
Объявление класса в классе
    #39814741
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Объявление класса в классе
    #39814744
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спека языка это описывает здесь.

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

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

Код: java
1.
2.
Solution.class
Solution$Person.class
...
Рейтинг: 0 / 0
Объявление класса в классе
    #39814762
Фотография Герой дня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
класс в классе удобен с точки зрения - если, например, класс сильно зависит от родительского класса или только для служебных целей (может быть приватным, например)
...
Рейтинг: 0 / 0
Объявление класса в классе
    #39814775
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Герой дня,
+1 без нужды не делать.
...
Рейтинг: 0 / 0
Объявление класса в классе
    #39814779
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шаблон билдер обычно компонуют в 2 класса и 1 исходник.
...
Рейтинг: 0 / 0
Объявление класса в классе
    #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
Объявление класса в классе
    #39814812
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Герой днякласс в классе удобен с точки зрения - если, например, класс сильно зависит от родительского класса или только для служебных целей (может быть приватным, например)
когда тебе надо описать какую нибудь дикую ДТО с миллионом полей и миллионом уровней вложенности то вложенные классы просто прекрасны
...
Рейтинг: 0 / 0
Объявление класса в классе
    #39814844
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTГерой днякласс в классе удобен с точки зрения - если, например, класс сильно зависит от родительского класса или только для служебных целей (может быть приватным, например)
когда тебе надо описать какую нибудь дикую ДТО с миллионом полей и миллионом уровней вложенности то вложенные классы просто прекрасныполучается что это проблема DTO которая не может собраться по связям. Нужно все пихать в один файл.
По твоему тексту так выходит.
...
Рейтинг: 0 / 0
Объявление класса в классе
    #39814845
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет. допустим, тебе надо с каким то сервисом синтегрироваться а он возвращает портянку с кучей вложенностей которые один фиг тебе нигде по отдельности не нужны будут. очень удобно в таком случае делать класс в классе. или даже класс в классе классе.
...
Рейтинг: 0 / 0
Объявление класса в классе
    #39814854
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTнет. допустим, тебе надо с каким то сервисом синтегрироваться а он возвращает портянку с кучей вложенностей которые один фиг тебе нигде по отдельности не нужны будут. очень удобно в таком случае делать класс в классе. или даже класс в классе классе.не понял. Сервис классы не возвращает. Он возвращает JSON. Который я даже не смотрю.
andreykaTочень удобно в таком случае делать класс в классе. или даже класс в классе классе.
подробнее, что ты делаешь руками если пришла портянка JSON.
...
Рейтинг: 0 / 0
Объявление класса в классе
    #39814863
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я ее скармливаю десеру, но ему нужен класс на что отобразить джейсон. можешь конечно отдельные поля выковыривать или мапить руками пути - как тебе больше нравится. а можешь просто создать кальку джейсона с такими же именами и тот дже джексон по дефолту их замапит. а что?
...
Рейтинг: 0 / 0
Объявление класса в классе
    #39814869
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
просто
- отдельные классы легче читать глазами
- они реально отдельные в БД так как там отношения (3 вида)
Если это для DTO проблема, то так и скажи.
Не вижу преимущества.
имхо
...
Рейтинг: 0 / 0
Объявление класса в классе
    #39814872
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
впрочем, если вложенные классы получаются после генератора, то мне по барабану. Хоть в двоичном виде.
А в проектировании есть вложенный по ссылке.
...
Рейтинг: 0 / 0
Объявление класса в классе
    #39815344
Фотография Герой дня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123andreykaTнет. допустим, тебе надо с каким то сервисом синтегрироваться а он возвращает портянку с кучей вложенностей которые один фиг тебе нигде по отдельности не нужны будут. очень удобно в таком случае делать класс в классе. или даже класс в классе классе.не понял. Сервис классы не возвращает. Он возвращает JSON. Который я даже не смотрю.
andreykaTочень удобно в таком случае делать класс в классе. или даже класс в классе классе.
подробнее, что ты делаешь руками если пришла портянка JSON.

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

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


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