Я могу скомпилировать класс наряду со всеми его внутренними классами в файл единого класса?

Я работал над довольно простым проектом для класса. Я знал, что это, как предполагалось, было записано в Java, и я прочитал достаточно описания Присвоения, чтобы иметь идею, что я, как предполагалось, делал, таким образом, я приступил к созданию хорошего, объектно-ориентированного решения (потому что это - Java, правильно?). Когда я наконец добираюсь до чтения деталей основных элементов присвоения, я наталкиваюсь на этот небольшой драгоценный камень: Все это, как предполагается, отправлено как файл единого класса. Слишком поздно для перезаписи всего этого теперь, таким образом, я пытался работать вокруг этого путем создания всех моих классов статическими внутренними классами основного класса. К моему огорчению я обнаружил, что затмение, по крайней мере по умолчанию, компилирует внутренние классы для разделения файлов класса все еще. Я, к сожалению, не знаю много о параметрах компилятора Java, но я надеюсь, что существует способ получить их всех скомпилированных в один .class файл. Действительно ли это, возможно, или я должен просто возвратить то, что я имею с примечанием и беру то, что мой TA решает прикрепить меня для него?

8
задан Gilles 'SO- stop being evil' 17 September 2012 в 22:40
поделиться

4 ответа

Боюсь, что такой опции нет. Каждый класс определяется в своем собственном файле класса. Даже анонимные классы определяются в ParentClass$1.class

Что я бы предложил, так это поместить большой комментарий/документацию о том, почему вы думаете, что нехорошо помещать все в один класс. Конечно, это зависит от человека "на другом конце".

Если требуется один файл, а не один класс, просто создайте jar-файл.

6
ответ дан 5 December 2019 в 17:33
поделиться

Если вы чувствуете себя смелым, вы можете создать банку для своего приложения, закодировать ее как строку в вашем классе верхнего уровня, который расширяет загрузчик классов, и использовать этот загрузчик классов для загрузки классов из декодированного файла jar .

Это настолько безумие и свидетельствует о таком большом знании платформы Java, что стоит отдать должное.

3
ответ дан 5 December 2019 в 17:33
поделиться

При этом должен быть одиночный файл или одиночный файл класса . Если первое, вы, конечно, можете заархивировать / JAR, если второе, немного поболтайте с ТА.

0
ответ дан 5 December 2019 в 17:33
поделиться

Если студент присылает мне один java-файл с объектно-ориентированным дизайном и вложенными классами, мне, как TA, будет очень приятно!

Если ТА захотелось простейшего решения проблемы, а вы перестроили его, это, конечно, отдельная история.

Обратите внимание: если ТА не любит вложенные классы и считает их плохими, укажите ему на сообщения NewSpeak и Гилада Браха. Он принимал участие в разработке спецификации языка Java, он является авторитетом в этой области и придумал язык, полностью основанный на вложении классов!

1
ответ дан 5 December 2019 в 17:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: