Java 面向对象(十五)类的成员 之 内部类 一、内部类 二、成员内部类 三、 四、 五、 六、 七、

  1、引入

    类的成员包括:

    (1)属性:成员变量;

    (2)方法:成员方法;

    (3)构造器;

    (4)代码块;

    (5)内部类;

    其中1、2是代表这类事物的特征;

    其中3、4是初始化类和对象用的;

    其中5是协助完成2的功能的实现,表现;

  2、内部类

    当一个事物的内部,还有一个部分需要一个完整的结构进行描述,而这个内部的完整的结构又只为外部事物提供服务,那么整个内部的完整结构最好使内部类
    在Java中,允许一个类的定义位于另一个类的内部,前者称为内部类,后者称为外部类
    Inner class一般用在定义它的类或语句块之内,在外部引用它时必须给出完整的名称。
    Inner class的名字不能与包含它的外部类类名相同;

  3、分类

    根据内部类的所在的位置不同:

    (1)成员内部类static成员内部类和非static成员内部类)外部类中方法外;

    (2)局部内部类:匿名内部类,方法体内(也可以在代码块内)

  4、

二、成员内部类

  1、概述及分类

    成员内部类:定义在 类中方法外 的类。

    (1)有 static 修饰的:静态成员内部类,简称 静态内部类;

    (2)没有 static 修饰的:非静态成员内部类,简称 成员内部类

      思考:什么情况下会用到成员内部类(方法外声明的?)

当描述一个事物时,发现它的内部还有一个完整的结构需要用一个类来描述;
并且发现这内部的结构,如果独立存在是没有意义的,必须在这个外部类中才有意义。而且这个内部结构只为这个外部类服务。

例如:Body身体,发现它内部还有完整的结果,如:心脏,发现心脏单独创建对象没有意义,只有在 Body 对象中才有意义,而且只为 Body 对象服务。

  2、静态成员内部类(静态内部类)

    (1)语法格式

【修饰符】 class 外部类  【 extends 父类】 【implements 父接口们】{
  【其他修饰符】 static class 内部类  【 extends 父类】 【implements 父接口们】{
   }
 }

  

    (2)

    (3)

    (4)

    (5)

  3、成员内部类(非静态内部类)

  4、

三、

四、

五、

六、

七、