上下文:来自不同包的两个类(第二个包中的第二个类继承第一个包中的类)通过继承连接,并从父类对子类进行方法调用。
我做了什么:
在两个不同的记事本文件中编写两个类并尝试一个接一个地执行,但是我无法执行并显示错误消息,我的类如下:
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,但是我应该以什么顺序使用记事本文件执行这些代码。观察到以任何顺序编译这些类都会给出错误消息。
非常感谢。 :)
答案 0 :(得分:0)
您创建了循环包依赖项,这不是一个好主意。
你的基类Sample
不必知道任何关于它的子类的信息,一旦发生这种情况,它通常是设计不良的标志。
只需将main
方法移至Sample1
,Sample
类就不必导入second.Sample1
。