我不需要内部课程。任何人都可以提供方案和理由。内部类与另一类完全不同。
答案 0 :(得分:2)
来自javadocs
如果需要访问封闭实例的非公共字段和方法,请使用非静态嵌套类(或内部类)。如果您不需要此访问权限,请使用静态嵌套类。
例如,你想创建一个与另一个类紧密相关的类,并且可能只被该类使用,那么将它作为该类的内部类是有意义的,而不是为它创建一个单独的类文件。内部类也可以访问封闭类的私有字段,如果您只想在一个类中使用它们并为其他所有字段设置私有字段,那么这可能很有用,那么您可以将该类设置为内部字段。
答案 1 :(得分:0)
java中的内部类基本上有三个原因。它们如下:
1)内部类表示一种特殊类型的关系,它可以访问外部类的所有成员(数据成员和方法),包括私有。
2)内部类用于开发更易读和可维护的代码,因为它仅在一个地方对类和接口进行逻辑分组。
3)代码优化:需要更少的代码来编写。
说明:
内部类可用于多线程编程,如BalaYesu所述,您可以通过聊天引擎的示例更好地理解这一点,您可以在其中按键盘上的“Enter”或“Return”键发送消息。因此,“输入”键可以被认为是触发对发送消息的方法之一的一个事件。并且,如果我们的聊天客户端类想要检测某人是否在窗口中键入,那么显然触发该调用的事件是有人打字 - 所以我们需要一些代码来检测某人实际在实时键入窗口的时间 - 基本上当他们按下聊天窗口内的按钮时。这就是创建内部类的原因。内部类的实例可以访问外部类的实例的成员,因为内部类只是外部类的另一个成员。而且,内部类甚至可以访问外部类的私有成员
参考文献: - Inner Classes Explained& Inner Classes