点我
内部类
概述
定义
内部类是类中的五大成分之一(成员变量、方法、构造器、内部类、代码块),如果一个类定义在另外一个类的内部,这个类就是内部类
场景
当一个类的内部,包含了一个完整的事物,且这个事物没有必要单独设计时,就可以把这个事物设计成内部类
四种形式
成员内部类:类中的一个普通成员
创建对象的格式:外部类名.内部类名 对象名 = new 外部类(). new 外部类()
在成员内部类的实例方法中,拿到当前外部类对象的格式为:外部类名.this
静态内部类:有static关键词修饰的内部类
创建对象的格式:外部类名.内部类名 对象名 = new 外部类.内部类()
可以直接访问外部类的静态成员,不能直接访问外部类的实例成员
- 局部内部类:定义在 方法中、代码块中、构造器等执行体中
匿名内部类:特殊的局部内部类;所谓匿名,指的是程序员不需要为该类声明名字
格式:new 类或接口(参数){类体(一般为方法的重写)};
特点:匿名内部类本质就是一个子类,并会创建出一个子类对象
作用:用于更方便的创建一个子类对象
package com.xbxaq.class_;
public class Test {
public static void main(String[] args) {
Animal dog = new Animal(){
@Override
public void cry() {
System.out.println("小狗汪汪汪");
}
};
dog.cry();
}
}
abstract class Animal{
public abstract void cry();
}
分类:
JAVA
版权申明
本文系作者 @小白学安全 原创发布在 xbxaq.com 站点,未经许可,禁止转载!
评论