Java 基础 第4讲(课时2).ppt

Java 基础 第4讲(课时2).ppt

ID:56527576

大小:297.00 KB

页数:25页

时间:2020-06-27

Java 基础 第4讲(课时2).ppt_第1页
Java 基础 第4讲(课时2).ppt_第2页
Java 基础 第4讲(课时2).ppt_第3页
Java 基础 第4讲(课时2).ppt_第4页
Java 基础 第4讲(课时2).ppt_第5页
资源描述:

《Java 基础 第4讲(课时2).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四讲内部类---主讲:冉孟廷Java程序设计主要内容一、内部类的概念二、内部类的分类及特性五、局部内部类(方法内部类)六、匿名内部类七、小结八、课程实训四、静态(嵌套)内部类三、成员内部类一、内部类的概念在一个类中定义另外一个类,这个类就叫做内部类(innerclass)。包含了内部类声明的类就称为“外部类”。内部类的定义和普通类的定义没什么区别,它可以直接访问和引用它的外部类的所有变量和方法(包括private),就像外部类中的其他非static成员的功能一样。其主要区别是,外部类只能声明为pub

2、lic和default,而内部类可以声明为private和protected。1、内部类的概念静态内部类根据定义可以访问外部类的保护域和私有域。这样做既有利也有弊,因为很可能在不经意间就破坏了外部类的保护域和私有域,从而违反了它的封装性,所以请小心对待!一、内部类的概念当我们建立一个innerclass时,其对象就拥有了与外部类对象之间的一种关系,这是通过一个特殊的thisreference形成的,当内部类的成员方法中访问某个变量/方法时,如果在该方法和内部类中都没有定义过这个变量,调用就会被传递给内部

3、类中保存的那个外部类对象的引用(OuterClass.this),通过那个外部类对象的引用去调用这个变量。2、内部类与其所在类的关系(UML表达)一、内部类的概念3、引用内部类内部类最自然的一种应用就是声明只在另一个类的内部使用的类,或者声明与另一个类密切相关的类。适用于类成员的访问控制修饰符也适用于内部类;也就是说,内部类可以具有package、protected、private和public访问权限,它们的语义和正常的语义没有什么不同。然而,修饰符static具有不同的含义。应用于内部类时,它声明的

4、类具有与其他类相同的语义,也就是可进行实例化,一、内部类的概念并像一个标准类那样使用。唯一的区别就是它拥有对外部类的所有静态成员的完全访问权限。内部类同样可以被其他地方实例化或作为超类予以继承,便在使用内部类时一定要小心,在满足相关规则(如条件限制、语法约定等)的情况下是可以被正常使用的。实例实例请仔细对照阅读这几个关于内部类的例子。实例实例实例主要内容一、内部类的概念二、内部类的分类及特性五、局部内部类(方法内部类)六、匿名内部类七、小结八、课程实训四、静态(嵌套)内部类三、成员内部类二、内部类的分

5、类及特性1、分类按内部类定义的方式及位置的不同可以把内部类分为四种基本类型,分别是:(1)成员内部类(2)静态嵌套内部类(3)局部内部类(方法内部类)(4)匿名内部类二、内部类的分类及特性2、特点所有内部类都具有以下共同特性:(1)、内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类命和$符号。(2)、内部类不能用普通的方式访问。内部类是外部类的一个成员,因此内部类可以自由地访问外部类的成员变量,无论是否是private的。注:内部类在被继承时缺省的构造器

6、不可用。实例主要内容一、内部类的概念二、内部类的分类及特性五、局部内部类(方法内部类)六、匿名内部类七、小结八、课程实训四、静态(嵌套)内部类三、成员内部类三、成员内部类1、成员内部类内不允许有任何静态声明2、能够访问成员内部类的唯一途径就是通过外部类的对象实例(1)从外部类的非静态方法中实例化内部类对象(2)从外部类的静态方法中实例化内部类对象(3)内部类的this引用(4)成员内部类的修饰符实例实例对比:在外部类的非静态方法中实例化内部类对象是普通的new方式:Innerin=newInner()

7、;在外部类的静态方法中实例化内部类对象,必须先创建外部类对象:Outer.Innerin=newOuter().newInner();普通的类可以用this引用当前的对象,内部类也是如此。但是假若内部类想引用外部类当前的对象则要用“外部类名”.this.的形式。对于普通的类,可用的修饰符有final、abstract、strictfp、public和默认的包访问。但是成员内部类更像一个成员变量和方法。可用的修饰符有:final、abstract、public、private、protected、stri

8、ctfp和static。一旦用static修饰内部类,它就变成静态内部类了。主要内容一、内部类的概念二、内部类的分类及特性五、局部内部类(方法内部类)六、匿名内部类七、小结八、课程实训四、静态(嵌套)内部类三、成员内部类四、静态(嵌套)内部类实例严格地讲,静态嵌套类不属于内部类。因为内部类与外部类共享一种特殊关系,更确切地说是对实例的共享关系。而静态嵌套类则没有上述关系。它只是位置在另一个类的内部,因此也被称为顶级嵌套类。静态的含义是该内

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。