Java----内部类

Java基础创作日记 Day03
时间:2021年2月5日下午 晴
这几天决定看书来复习Java,瞌睡

内部类

    • 成员内部类
    • 静态内部类
    • 方法内部类

作用:
可以用于实现接口、实现多继承(即一个类中写多个内部类,每个内部类继承一个其他的类)

在java中可以以在类中再定义类,被定义在类内部的类被称为内部类,内部类所在的类称为外部类。
根据内部类的位置、修饰符和定义的方式可以把内部类分为:1.成员内部类2.静态内部类3.方法内部类

成员内部类

不加static修饰符,同时不在类的方法中定义的内部类被称为成员内部类
成员内部类的特点:

  1. 在外部类中或者在外部类外要想访问成员内部类的成员,则需要通过外部类创建内部类的对象,然后通过这个实例化对象进行访问Java----内部类_第1张图片但是内部类设置为私有的成员还是无法直接调用
    通过外部类创建内部类对象的方法:外部类名.内部类名 变量名=new 外部类名().new 内部类名();
  2. 成员内部类可以直接访问外部类的成员Java----内部类_第2张图片
  3. 成员内部类中不能定义静态成员
    Java----内部类_第3张图片成功报错

静态内部类

用static修饰的成员内部类
他的特点:

  1. 在静态内部类中,只能访问外部类的静态成员
    访问非静态成员:Java----内部类_第4张图片红色的Age,报错了
    可以访问静态成员:Java----内部类_第5张图片
  2. 与成员类不同的是,静态内部类可以定义静态成员
    Java----内部类_第6张图片
  3. 创建实例对象的方法和成员内部类不太一样
    外部类名.静态内部类名 变量名=new 外部类名.静态内部类名();
    这个少了一个括号
  4. 静态内部类在外部使用方法和普通的内部类一样

方法内部类

方法内部类就是定义在外部类方法中的内部类
特点:

  1. 不能定义静态的方法内部类
    Java----内部类_第7张图片
  2. 方法内部类只能在当前方法中使用
    使用方法:
    在其所在的方法中定义内部类成功,然后再在这个方法中创建实例对象,然后调用
    在其中创建其实例对象的语法:内部类名 变量名=new 内部类名();
  3. 方法内部类可以访问外部类的成员

你可能感兴趣的:(JAVA,java,类)