嵌套类的设计与使用是Java码农在OOD、OOP中的一件顺手工具,这一点是毋庸置疑的,但怎样正确使用嵌套类在实际的编程中呢?下文会针对这一话题展开叙述。什么是嵌套类?在Java语言的世界里允许在一个类的内部定义类,如下代码所示:classOuterClass{...classNestedClass{...}}术语:嵌套类分为静态和非静态两类;声明为static的内部类我们称为“静态嵌套类”,而未声明为static的内部类我们称之为“内部类”classOuterClass{...estedClass{...}classInnerClass{...}}作为包装类的一个成员,非静态嵌套类可以有权访问其包装类的成员变量(甚至包括私有变量),然而静态的嵌套类却不可以访问其包装类的任何成员变量。内部类可以声明为public,protected,packageprivate,private访问权限。为什么要使用内部类(什么情况必须使用内部类)?对只在一处使用的类的逻辑分组如果一个类A只对一个类B有用,并且逻辑上这个类A能够内嵌到这个类B中,是这两个类放在一起,将这样的“帮助类”B设计为内部类将使包结构更加顺畅,优美。提升封装性当类B需要访问类A中必须声明为private的成员变量的时候。如果将类B声明为内部类,这样既可以满足需求而且可以将B声明为private或其他权限将类B隐藏起来。可读性好,高可维护的代码将相近的类声明为内部类,使得代码更加符合逻辑,可读性更好,可维护性更好。静态嵌套类想要通过静态嵌套类直接访问包装类的成员变量?NoWay,那是内部类(非静态嵌套类)能做的。静态嵌套类只能与其他静态类一样通过拿到引用的方式访问成员变量。既然不能访问包装类的成员
Java内部类(innerclass) 来自淘豆网m.daumloan.com转载请标明出处.