我的Class1包含许多私有内部匿名类,如:
ClassAInterface var1=new ClassAInterface {
.....
当我从Class1继承Class2时,是否可以不继承所有这些类但是用new替换?因此,使用这些类变量的所有方法将仅使用继承类中的对象。还是存在另一种方式? 所以我想继承方法,工作逻辑,但不喜欢继承数据结构。 感谢
答案 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而不是继承。