2012-05-03 34 views
0

我有1类包含像许多私有内部匿名类:是否有可能不继承java中的一些私有内部类?

ClassAInterface var1=new ClassAInterface { 
..... 

当我继承的Class2从1类是有可能不继承所有这些类,但新更换?所以使用这些类变量的所有方法将只使用继承类中的对象。或者存在另一种方式? 所以我想继承方法,工作逻辑,但不喜欢继承数据结构。 感谢

+1

没有什么是私有的可以继承。只有受保护/公共成员可以继承。 – Bernard

+0

来自docs:子类从它的超类继承所有成员(字段,方法和嵌套类)。 – user810430

+0

http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html – user810430

回答

1

您应该使用嵌套类或也称为静态内部类:

public class Class1{ 

    // fields and methods for Class1 

    protected static MyInnerClassA{ 

     //some fields methods here for MyInnerClassA 
    } 
} 

因此,当你从Class1的继承,你可以创建MyInnerClassA的新实例,因为这一次是访问。简而言之,在这种情况下,static关键字允许独立于其父类的Inner类。

0

如果您希望继承“方法,工作逻辑,但不是数据结构”,则需要使用更多的interface和更多的composition而不是继承。

1

私有东西永远不能在子类中继承。

相关问题