Возможно ли наследование между пакетами? Кроме того, как мы их компилируем?
Контекст: Два класса из разных пакетов (Второй класс во втором пакете наследует класс в первом пакете) связаны через наследование и сделали вызов метода для подкласса из родительского класса.
Что я сделал:
Написал два класса в двух разных файлах блокнота и пытался выполнить один за другим, но я не смог выполнить и показать сообщения об ошибках, и мои классы таковы:
package first;
import second.Sample1;
public class Sample {
public static void main(String a[])
{
Sample1 s=new Sample1();
s.dis(1);
}
package second;
import first.Sample;
public class Sample1 extends Sample{
public void dis(int i)
{
System.out.println(i);
}
}
В Eclipse он выводит как 1, но в каком порядке я должен выполнять эти коды, используя файлы блокнотов. Заметил, что компиляция этих классов в любом порядке дает сообщения об ошибках.
Большое спасибо.:)
1 ответ
Вы создали циклическую зависимость пакета, что не очень хорошая идея.
Ваш базовый класс Sample
ему не нужно ничего знать о его подклассах, и когда это происходит, это, как правило, признак плохого дизайна.
Просто переместите main
метод для Sample1
, а также Sample
класс не должен будет импортировать second.Sample1
,