繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM