【发布时间】:2019-03-17 11:05:41
【问题描述】:
我是 Java 新手。在学习的过程中,我遇到了内部类——静态和非静态内部类。虽然我已经了解它们的功能,但我无法弄清楚它们的真正目的!
我请求社区以一种即使是孩子也能理解的方式来消除这种怀疑。我浏览了多个网站,但他们的解释并没有满足我的查询。
【问题讨论】:
标签: java static inner-classes
我是 Java 新手。在学习的过程中,我遇到了内部类——静态和非静态内部类。虽然我已经了解它们的功能,但我无法弄清楚它们的真正目的!
我请求社区以一种即使是孩子也能理解的方式来消除这种怀疑。我浏览了多个网站,但他们的解释并没有满足我的查询。
【问题讨论】:
标签: java static inner-classes
当你想在一个类中定义一个class (nested)
并且您还想从其他类中声明该类的对象,
那么你需要一个static nested class。
如果您不想在父类之外创建此嵌套类的对象,那么static不需要。
【讨论】:
内部类可以具有外部类的属性。考虑以下示例:
class School {
// school has classroom
// school has a canteen
class Student {
// students can have the access of classroom & canteen
// Students can have their own properties like books, bags
}
class Teachers {
// Teachers can have the access of classroom & canteen
// Teachers can have their own properties like board, staffroom
}
}
内部类确实只是为了帮助开发人员组织代码而存在;编译器像对待任何其他类一样对待内部类,除了内部类的范围有限,因此与定义它们的类有关。此外,内部类可以具有外部类的属性。
有关详细信息,请参阅以下链接以获取更多信息: https://code.tutsplus.com/tutorials/learn-java-for-android-development-inner-classes--mobile-3530
【讨论】: