还剩17页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《内部类与异》ppt课件目录•内部类概述CONTENT•成员内部类•局部内部类•内部类的使用场景与注意事项01内部类概述什么是内部类01内部类是一种嵌套在另一个类中的类,可以访问外部类的成员变量和方法02内部类可以与外部类使用相同的名称,也可以使用不同的名称03内部类可以隐藏在外部类中,对外界不可见内部类的分类静态内部类(static nestedclass)使用static关键字定义的内部类,不需要创建外部类对象就可以创建内部类对象非静态内部类(inner class)没有使用static关键字定义的内部类,需要先创建外部类对象才能创建内部类对象局部内部类(local innerclass)定义在方法内部的内部类,只能在方法内部访问匿名内部类(anonymous innerclass)没有名称的内部类,通常用于实现接口或继承其他类内部类的访问权限01内部类可以访问外部类的所有成员变量和方法,包括私有成员02外部类不能直接访问其他类的内部类的成员变量和方法03如果内部类是静态的,则只能访问外部类的静态成员变量和方法02成员内部类成员内部类的定义与访问定义在外部类中定义一个类,作为外部类的成员变量访问通过外部类对象访问成员内部类对象,使用“外部类对象.new成员内部类名”的方式创建静态内部类的特点与访问特点静态内部类与外部类是关联的,但不依赖于外部类的对象实例访问通过类名直接访问静态内部类,使用“外部类.静态内部类名”的方式创建实例内部类的特点与访问特点实例内部类依赖于外部类的对象实例,每个外部类对象都有一个关联的实例内部类对象访问通过外部类对象访问实例内部类对象,使用“外部类对象.new实例内部类名”的方式创建03局部内部类局部内部类的定义与访问定义局部内部类是在方法内部定义的类,它只能访问该方法中的局部变量(非final)访问外部方法可以创建该内部类的实例,并调用其方法内部类可以访问其外部方法的局部变量和方法匿名内部类的特点与访问特点访问匿名内部类没有显式地指定类名,而是匿名内部类可以访问其外部类的成员变量通过实现接口或继承类的方式定义和方法,但不能直接访问外部方法的局部VS变量初始化块内部类的特点与访问特点访问初始化块内部类是在类中定义的初始化块内初始化块内部类可以访问其外部类的成员变部的类量和方法,但不能直接访问外部方法的局部变量04内部类的使用场景与注意事项内部类在编程中的使用场景局部内部类静态内部类在方法内部定义的类,作为方法内的局部变量或使用static关键字定义的内部类,不依赖于外部方法实现的一部分类实例,可以直接通过外部类名访问A BC D匿名内部类成员内部类没有名称的内部类,通常用于实现接口或继承类,在类内部定义的类,作为类的一个成员变量,需并直接在定义时实例化要外部类实例才能访问使用内部类的注意事项0103作用域限制静态内部类的使用内部类的作用域仅限于定义它的静态内部类不能直接访问外部类外部类或方法内,不能直接从外的非静态成员部访问0204匿名内部类的使用内存消耗匿名内部类不能有构造函数,不过度使用内部类会增加内存消耗,能直接访问外部类的静态成员因为每个实例都会附带一个对外部类实例的引用内部类与外部类的关系和区别关系区别内部类可以访问外部类的所有成员(包括私内部类可以拥有与外部类相同名称的变量和有),而外部类不能直接访问内部类的成员方法,但作用域不同;而外部类不能拥有与内部类相同名称的变量或方法感谢您的观看THANKS。