内部类

内部类

概述:把类定义在其他类的内部,这个类就被称为内部类。

内部类访问特点:

  1. 内部类可以直接访问外部类的成员,包括私有。
  2. 外部类要访问内部类的成员,必须创建对象。

按照内部类位置分类:

  1. 成员位置:在成员位置定义的类,被称为成员内部类。
  2. 局部位置:在局部位置定义的类,被称为局部内部类。

在测试类中直接访问内部类成员:

外部类名.内部类名 对象名 = 外部类对象.内部类对象;

成员内部类被静态修饰后的访问方式是:

外部类名.内部类名 对象名 = new 外部类名.内部类名();

匿名内部类

匿名内部类就是局部内部类的简化写法。前提要存在一个类或接口,可以是抽象类也可以是具体类。其本质是一个继承了该类或者实现了该接口的子类匿名对象。匿名内部类经常可以作为参数来传递

格式:

new 类名或者接口名(){
		重写方法;
	} ;

**1. ** 通过接口的方式创建匿名内部类

interface Inter {
    public abstract void show();
}
class Outer{
    public static void main(String[] args) {
        new Inter() {
            @Override
            public void show() {
                System.out.println("Hello");
            }
        }.show();
        }
    }

2. 通过抽象类的方式创建匿名内部类

abstract class AbstractClass {
    public abstract void show();
}
class Outer{
    public static void main(String[] args) {
        new AbstractClass() {
            @Override
            public void show() {
                System.out.println("Hello");
            }
        }.show();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值