外部类只能使用public、final、abstract修饰,不能使用private、protected、static修饰,但是内部类可以。非静态内部类不能拥有静态成员。
内部类的作用:①不允许同包的其他类访问该类;②内部类成员可以直接访问外部类私有数据;③匿名内部类适合用于创建那些仅需要使用一次的类。
非静态内部类可以访问外部类的private成员,但非静态内部类的成员不能被外部类直接使用,如需访问则必须要创建非静态内部类的对象进行访问。
非静态内部类访问变量x,首先判断是否存在局部变量x,如果存在则使用该变量;如果没有,判断是否存在非静态内部类成员变量x,如果存在则使用该变量;如果没有,判断是否存在外部类成员变量x,如果存在则使用该变量;如果没有,系统出现编译错误。
如果外部类成员变量、内部类成员变量和局部变量重名,则通过外部类类名.this.变量名、this.变量名和变量名区分。
静态内部类,使用static修饰的内部类,这种内部类属于外部类本身,而不是外部类的对象,因此又叫类内部类。
静态内部类可以包含静态成员和非静态成员。
静态内部类(即使时实例成员)不能访问外部类的实例成员,只能访问外部类的静态成员。
接口内部类只能时静态内部类。
本文详细介绍了Java中内部类的使用特点及限制条件,包括内部类的访问权限、如何访问外部类成员、静态内部类的特点以及接口内部类的要求等。
8321

被折叠的 条评论
为什么被折叠?



