是否可以跨包进行继承?另外,我们如何编译它们?

时间:2016-04-03 06:40:15

标签: java inheritance

上下文:来自不同包的两个类(第二个包中的第二个类继承第一个包中的类)通过继承连接,并从父类对子类进行方法调用。

我做了什么:

在两个不同的记事本文件中编写两个类并尝试一个接一个地执行,但是我无法执行并显示错误消息,我的类如下:

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 个答案:

答案 0 :(得分:0)

您创建了循环包依赖项,这不是一个好主意。

你的基类Sample不必知道任何关于它的子类的信息,一旦发生这种情况,它通常是设计不良的标志。

只需将main方法移至Sample1Sample类就不必导入second.Sample1