误导行为,我面对的是我在一个包中创建2级的一个非常奇怪的行为,说AA级的aa.bb用罐子中的Java抽象类
代码
package aa.bb;
public abstract class aa {
abstract void deep();
}
准则类BB
public class bb extends aa{
@Override
void deep() {
}
}
现在我创造了另一个包说bbc.cc并创造了这个包里面一类。类立方厘米
代码
package bbc.cc;
import aa.bb.bb;
public class cc extends bb {
}
现在cc类显示错误此类必须实现继承抽象方法aa.deep(),但不能重写它,因为它不是从可见CC。使类型摘要或使继承方法可见
现在制作包aa.bb的jar文件,并从源代码中删除aa.bb包。并在构建路径中添加jar文件。在此之后,错误如前所述。现在我在aa.bb包中添加了bb类的源代码并且解决了错误。 我不知道这背后发生了什么。
这是该项目的最终目录结构
请帮我清除
感谢您的回答。是的,我知道通过公开它会工作。但我还添加了另一个场景,当我添加包aa.bb作为构建路径中的jar文件,并从aa.bb文件夹中删除了aa类的源代码。然后它不显示任何错误。 –