[英]Is it possible not to inherit some private inner classes in java?
我有Class1,它包含许多私有内部匿名类,如:
ClassAInterface var1=new ClassAInterface {
.....
当我从Class1继承Class2时,是否有可能不继承所有这些类但用new替换? 因此,使用这些类变量的所有方法将仅使用继承类中的对象。 还是存在另一种方式? 所以我想继承方法,工作逻辑,但不喜欢继承数据结构。 谢谢
您应该使用嵌套类或也称为静态内部类:
public class Class1{
// fields and methods for Class1
protected static MyInnerClassA{
//some fields methods here for MyInnerClassA
}
}
因此,当您从Class1继承时,您可以创建MyInnerClassA的新实例,因为这个实例是可访问的。 简而言之,在这种情况下,static关键字允许Inner类独立于其父类。
私有的东西永远不能在子类中继承。
如果您希望继承“方法,工作逻辑,而不是数据结构”,则需要使用更多interface
和组合而不是继承。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.