例如,在Java中,我在外部类和内部类内部声明并初始化了JButton,因此我决定在某些情况下将其隐藏,这是安全的编程习惯吗?

最佳答案

内部类的全部目的是它们可以访问环绕该内部类的外部类。

因此,通用的答案是:您只是在利用Java语言提供给您的概念。从这一点上-当然可以。

但是除此之外,请记住SOLID原则,例如单一责任原则。含义:当内部类有充分的理由使用外部事物(以完成其“工作”)时-是的,那就去做。

然后:在某种程度上,这是一个风格问题。内部类在Java的早期是“著名的”,例如实现特定的侦听器接口。如今,它们“不那么常​​见”了-许多人喜欢“每个文件一个类”,并尝试避免嵌套类。

您会看到,内部类直接与其外部类耦合,因此您降低了重用该内部部分的能力。因此,您仅应将内部类用于在概念上真正属于该外部类的事物。

换一种说法:


不要仅仅因为可以就使用一个概念,而是因为使用这个概念可以使您“最佳”实现特定的需求
这里没有人能告诉您您的项目有哪些“工作”。确保在人们同意的风格上与同行保持一致,并使用这种风格。

关于java - 访问内部类安全实践中的外部类变量/成员?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46442071/

10-15 11:30