有可能不在java中继承一些私有内部类吗?

时间:2012-05-03 14:42:09

标签: java class inheritance methods anonymous

我的Class1包含许多私有内部匿名类,如:

ClassAInterface var1=new ClassAInterface {
 .....

当我从Class1继承Class2时,是否可以不继承所有这些类但是用new替换?因此,使用这些类变量的所有方法将仅使用继承类中的对象。还是存在另一种方式? 所以我想继承方法,工作逻辑,但不喜欢继承数据结构。 感谢

3 个答案:

答案 0 :(得分:1)

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

public class Class1{

   // fields and methods for Class1

   protected static MyInnerClassA{

       //some fields methods here for MyInnerClassA
   } 
}

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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