我啥时候应该参加内部课程[关闭]

Posted

技术标签:

【中文标题】我啥时候应该参加内部课程[关闭]【英文标题】:When exactly i should go for inner classes [closed]我什么时候应该参加内部课程[关闭] 【发布时间】:2014-12-18 05:52:53 【问题描述】:

我不需要内部类。任何人都可以给出情景和理由。内部类与另一个类到底有什么不同。

【问题讨论】:

您用于singleton object 使用inner class 以供进一步参考使用(docs.oracle.com/javase/tutorial/java/javaOO/whentouse.html 你检查docs了吗? 【参考方案1】:

来自javadocs

如果您需要访问封闭实例的非公共字段和方法,请使用非静态嵌套类(或内部类)。如果您不需要此访问权限,请使用静态嵌套类。

例如,您想创建一个与另一个类密切相关并且可能仅由该类使用的类,那么将其作为该类的内部类是有意义的,而不是为其创建单独的类文件.内部类还可以访问封闭类的私有字段,如果您只想在一个类中使用它们并将其他所有内容设为私有,这将很有用,然后您可以将该类设为内部。

【讨论】:

【参考方案2】:

java中的内部类基本上有3个原因。它们如下:

1) 内部类代表一种特殊类型的关系,它可以访问包括私有在内的外部类的所有成员(数据成员和方法)。

2) 内部类用于开发更具可读性和可维护性的代码,因为它在逻辑上仅将类和接口分组在一个位置。

3) 代码优化:需要更少的代码编写。

解释:

BalaYesu 解释过,内部类可用于多线程编程,您可以通过按键盘上的“Enter”或“Return”键发送消息的聊天引擎示例更好地理解这一点.因此,“Enter”键可以被认为是一个触发对发送消息方法之一的调用的事件。而且,如果我们的聊天客户端类想要检测是否有人在窗口中打字,那么很明显会触发调用的事件就是有人在打字——所以我们需要一些代码来实时检测某人何时在窗口中真正打字– 基本上是当他们在聊天窗口中按下按钮时。这就是创建内部类的原因。内部类的实例可以访问外部类实例的成员,因为内部类只是外部类的另一个成员。而且,内部类甚至可以访问外部类的私有成员

参考:- Inner Classes Explained & Inner Classes

【讨论】:

问题已修复。谢谢@TheLostMind

以上是关于我啥时候应该参加内部课程[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

我啥时候想让我的私人课程成为静态的?

我啥时候应该销毁令牌[关闭]

我啥时候应该使用助手? [关闭]

我啥时候应该使用 GRUB_TIMEOUT 选项? [关闭]

我啥时候需要将异步函数的返回类型声明为未来对象?

函子我啥时候应该使用它们它们的预期用途是啥[关闭]