Как добавить два класса в один и тот же файл .java без вложения?

Результат:

public class cls1 
{
    short f1;

    short f2;

    byte f3;

  }

  public class cls2 
{
    short f4;

    short f5;

    byte f6;

  }

Результат не такой:

public class cls1 
{
    short f1;

    short f2;

    byte f3;

  public class cls2 
{
    short f4;

    short f5;

    byte f6;

  }
}

person Priya K    schedule 31.10.2018    source источник
comment
удалите открытое ключевое слово в своем первом подходе и дайте мне знать. не может быть 2 классов с модификатором public, если один класс является общедоступным, тогда имя файла должно быть class. Если общедоступного класса нет, вы можете сохранить любой из классов. Здесь я говорю не о вложенном классе, а о двух отдельных классах.   -  person Abdul Waheed    schedule 31.10.2018
comment
И прочитайте о соглашениях об именах в Java. Имена классов всегда должны быть в верхнем регистре, даже для примеров.   -  person GhostCat    schedule 31.10.2018


Ответы (2)


В Java вы можете иметь несколько классов верхнего уровня в одном файле .java, но только один из них может быть общедоступным.

person FazoM    schedule 31.10.2018
comment
Да, пожалуйста. Я добавил public по ошибке, но я хочу знать, позволяет ли javapoet добавлять два класса независимо от спецификатора доступа к одному и тому же файлу .java. - person Priya K; 31.10.2018

JavaPoet намеренно не поддерживает это. Вместо этого мы рекомендуем использовать вложенные или отдельные файлы.

person Jesse Wilson    schedule 31.10.2018
comment
при вложенности повлияет ли выделение памяти? Сколько памяти будет выделено, если я создам экземпляр внешнего класса? - person Priya K; 31.10.2018
comment
Нет никакой разницы. - person Jesse Wilson; 26.11.2018