这里是否可以继承?内部父类是否扩展了外部子类?

时间:2010-12-20 08:38:43

标签: java oop inheritance inner-classes

A
|_A1
|  |_parent.java
|_child.java

parent.java是否以任何可能的方式继承了child.java?

这里A和A1是包或目录

3 个答案:

答案 0 :(得分:1)

仅当Child具有extends子句

public class Child extends Parent{}

如果是,Child将有权访问public的所有protectedParent成员。否则,Child只能访问public的{​​{1}}成员。

如果文件位于同一目录层次结构中,但不在同一目录中,则这些包不被视为相关,因此具有默认(“包受保护”)可见性的成员不可见。

相关阅读:

答案 1 :(得分:1)

您的图片显示了文件夹和java源文件。我们有一个文件夹A,其中包含文件child.java和另一个文件夹A1A1包含java源文件parent.java

在文件系统folers中安排源文件(或类文件)不会创建或声明类之间的关系。

如果您希望类parent继承(来自)类child(iaw:parent继承child中的字段和方法 - 在现实世界中很奇怪,但可能),你必须在java源代码中声明这种关系。记住你的名字,文件必须如下所示:

<强> child.java

package A;
public class child {};

<强> parent.java

package A.A1;
import A.child;
public class child extends parent {};

注意 - 强烈建议使用java命名约定,包名称都是小写,类名以大写字母开头。

答案 2 :(得分:0)

我的理解是它是你的包/树层次结构,你要求任何继承。 如果有任何继承,它看起来像任何继承/树层次结构?如果销毁继承树,则意味着不应该是任何其他无关包或任何其他节点下的任何继承类。换句话说,缺乏设计模式。如果这样做,您将在包级别和其他包中处理冗余可访问性,因此您无法谈论有关OO或此项目中任何封装的任何内容