0

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

ClassAInterface var1=new ClassAInterface {
 .....

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

4

3 回答 3

1

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

public class Class1{

   // fields and methods for Class1

   protected static MyInnerClassA{

       //some fields methods here for MyInnerClassA
   } 
}

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

于 2012-05-03T14:56:47.390 回答
1

任何私有的东西都不能在子类中继承。

于 2012-05-03T14:57:52.227 回答
0

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

于 2012-05-03T14:57:47.077 回答