首页 > 编程知识 正文

内部类有几种,四种形态是啥

时间:2023-05-05 21:23:46 阅读:11480 作者:3614

内部类:一个类中的类

内部类生成文件:外部类名$内部类名. class

种类

成员内部类内部类访问外部类时,可以直接访问属性和方法,而不受访问控制符的影响。 外部类变量与方法和内部类同名,内部类默认访问自己的成员变量或方法。 在引用外部变量时,使用类名. this :类名. this .变量名、类名. this .方法名()创建类中的内部类。 内部类对象名称=new外部类对象) (.new内部类) )外部类不能直接使用内部类的成员和方法。 首先创建内部类的对象,然后从内部类的对象访问静态内部类静态内部类不能直接访问外部类的非静态成员,但可以作为new外部类() .成员访问外部类的静态媒体通过“类名.静态成员”访问外部类的静态成员创建静态内部类的对象时,可以直接创建内部类的对象名称=new内部类) )。 方法内部类由类的方法定义,只能在同一作用域中使用。 没有外部可见性,也没有访问修饰符,但可以使用final或abstract修饰。 不能在方法内部类中创建可变局部变量。 允许访问外围类的成员变量。 对于静态方法,只能访问静态限定成员变量。 如果匿名内部类使用匿名内部类,则我们必须继承类或实现一个接口,但两者不能兼得。 此外,只能继承一个类或实现一个接口。 匿名内部类无法定义构造函数。 匿名内部类中不能存在静态成员变量和静态方法。 本地内部类的所有限制对匿名内部类也有效,因为匿名内部类是本地内部类或方法内部类。 匿名内部类不能抽象。 必须实现继承的类或实现的接口的所有抽象方法。 如果存在必须在内部类中使用的方法的参数,则该参数必须为final。 可以编写代码块,并通过初始化匿名内部类的匿名内部类来轻松定义回调。 使用内部类可以很容易地创建事件驱动程序。好处

内部类提供了很好的封装,用于将内部类隐藏在外部类中,并防止同一包中的其他类访问该类。 内部类的方法可以直接访问外部类的所有数据,包括私有数据。 使用外部类也同样可以实现内部类实现的功能。 但是,使用内部类可能更方便。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。