Я работал над довольно простым проектом для класса. Я знал, что это, как предполагалось, было записано в Java, и я прочитал достаточно описания Присвоения, чтобы иметь идею, что я, как предполагалось, делал, таким образом, я приступил к созданию хорошего, объектно-ориентированного решения (потому что это - Java, правильно?). Когда я наконец добираюсь до чтения деталей основных элементов присвоения, я наталкиваюсь на этот небольшой драгоценный камень: Все это, как предполагается, отправлено как файл единого класса. Слишком поздно для перезаписи всего этого теперь, таким образом, я пытался работать вокруг этого путем создания всех моих классов статическими внутренними классами основного класса. К моему огорчению я обнаружил, что затмение, по крайней мере по умолчанию, компилирует внутренние классы для разделения файлов класса все еще. Я, к сожалению, не знаю много о параметрах компилятора Java, но я надеюсь, что существует способ получить их всех скомпилированных в один .class файл. Действительно ли это, возможно, или я должен просто возвратить то, что я имею с примечанием и беру то, что мой TA решает прикрепить меня для него?
Боюсь, что такой опции нет. Каждый класс определяется в своем собственном файле класса. Даже анонимные классы определяются в ParentClass$1.class
Что я бы предложил, так это поместить большой комментарий/документацию о том, почему вы думаете, что нехорошо помещать все в один класс. Конечно, это зависит от человека "на другом конце".
Если требуется один файл, а не один класс, просто создайте jar-файл.
Если вы чувствуете себя смелым, вы можете создать банку для своего приложения, закодировать ее как строку в вашем классе верхнего уровня, который расширяет загрузчик классов, и использовать этот загрузчик классов для загрузки классов из декодированного файла jar .
Это настолько безумие и свидетельствует о таком большом знании платформы Java, что стоит отдать должное.
При этом должен быть одиночный файл или одиночный файл класса . Если первое, вы, конечно, можете заархивировать / JAR, если второе, немного поболтайте с ТА.
Если студент присылает мне один java-файл с объектно-ориентированным дизайном и вложенными классами, мне, как TA, будет очень приятно!
Если ТА захотелось простейшего решения проблемы, а вы перестроили его, это, конечно, отдельная история.
Обратите внимание: если ТА не любит вложенные классы и считает их плохими, укажите ему на сообщения NewSpeak и Гилада Браха. Он принимал участие в разработке спецификации языка Java, он является авторитетом в этой области и придумал язык, полностью основанный на вложении классов!