Это немного связано, и я хочу объяснить это кратко, не заставляя вас читать много, а затем показывать код. Я не в этом разбираюсь.Компиляция и интерпретация Назначение пакетного программного обеспечения - Невозможно отображать многоуровневые выходы класса
Barebones описание. В этом задании мы изучаем, как компилируем, интерпретируем в командной строке, создаем пакет, создаем класс и подклассы, импортируем подклассы и выполняем команды println во всех подклассах как одну скомпилированную программу , и отобразите их в командной строке. Я что-то упустил, и команды subclass println не отображаются, когда я запускаю GreetingsClass.java, Superclass. Все они в одном пакете. Каталог пакетов - com.cisp2030.course, и три файла классов Chapters существуют в папке .Chapters внутри .course.
Во-первых, GreetingsClass.java:
package com.cisp2030.course;
import com.cisp2030.course.Chapters.*;
public class GreetingsClass
{
Chapter1 c1 = new Chapter1();
Chapter2 c2 = new Chapter2();
Chapter3 c3 = new Chapter3();
public static void main(String[] args)
{
System.out.println("$ Greetings, CISP2030!");
System.out.println(c1);
}
}
Это, как предполагается импортировать и создавать экземпляры переменных следующего кода, содержащегося в Chapter1.class в папке .Chapters.
package com.cisp2030.course.Chapters;
public class Chapter1
{
public Chapter1()
{
System.out.println("Hello from Chapter1!");
}
}
Только представьте себе, что приведенный выше код является одним из трех, которые варьируются от chapter1-chapter3, и они были собраны Command Prompt в файлы классов в соответствующей директории.
Ожидаемый результат компиляции, интерпретации и запуска этой программы в командной строке должен быть одной программой, которая отображает все 3-4 команды println. Однако в это время в командной строке hte отображается только одна команда println. Я думаю, что это связано с тем, что мне нужно подклассифицировать классы Chapter в GreetingsClass и импортировать их уже как-то прямо GreetingsClass для выполнения команд из файлов классов hte Chapters, но я не знаю, как, и я искал это в google последовательно и искать в моем учебнике, и я не мудрее. Я думаю, что я пропускаю что-то в самом коде, но я не знаю достаточно, чтобы придумать какие-либо идеи. Любая помощь или совет будут очень признательны.
Кодекс был закончен:
package com.cisp2030.course;
import com.cisp2030.course.Chapters.*;
public class GreetingsClass
{
public static void main(String[] args)
{
System.out.println("$ Greetings, CISP2030!");
Chapter1 c1 = new Chapter1();
Chapter2 c2 = new Chapter2();
Chapter3 c3 = new Chapter3();
}
}
С руководством моего инструктора это разрешилось. Ошибка, которую я объявлял. Я не мог запускать нестационарную команду как статическую, это потому, что System.out.println (c1); был внутри основного метода и помечен как статический, но Chapter1 c1 = new Chapter1 был выше основного метода и поэтому не был установлен как статический методом ниже. Возникла ошибка. Мне пришлось установить три декларации создания экземпляра под командой println и удалить вторую строку печати, которая была там, и эти три строки сделали то, что println пыталось, но не могло для других файлов классов. –