zoukankan      html  css  js  c++  java
  • 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、

    三、

    四、

    五、

    六、

    七、

  • 相关阅读:
    Leetcode Unique Binary Search Trees
    Leetcode Decode Ways
    Leetcode Range Sum Query 2D
    Leetcode Range Sum Query
    Leetcode Swap Nodes in Pairs
    Leetcode Rotate Image
    Leetcode Game of Life
    Leetcode Set Matrix Zeroes
    Leetcode Linked List Cycle II
    CF1321A
  • 原文地址:https://www.cnblogs.com/niujifei/p/14094819.html
Copyright © 2011-2022 走看看