java学习笔记(五)匿名内部类

目录

准备工作

使用接口使用匿名类

通过抽象类使用匿名类


准备工作

匿名内部类和抽象类型(也就是接口以及抽象类)关系密切。首先先创建一个接口和一个抽象类

package com.javaeasy.anonymousclass;

public interface AnInterface {
	void method ();
}

上面的接口定义了一个抽象的方法method(),没有什么特殊之处

抽象类AnAbstractClass进行创建

package com.javaeasy.anonymousclass;

public abstract class AnAbstractClass {
	public AnAbstractClass(int variable) {
		
	}
	public AnAbstractClass() {}
	public abstract void method(); 
	
}

匿名内部类语法注意:

使用内部类没有名字;

不能给匿名内部类添加构造方法;

匿名内部类无法显示地继承某个类或者实现某个接口;

匿名内部类没有修饰符;

使用一个没有名字的类,定义匿名内部类和创建一个匿名内部类对象的语法是绑在一起的

new 抽象类型名(构造方法实际参数){
    实现抽象类型中的抽象方法
}

使用接口使用匿名类

语法中的“构造方法实际参数”必须是空的,因为接口是没有构造方法的,而匿名类也是没有构造方法。

创建的不是接口对象,而是一个没有名字的、实现了这个接口的类对象、

通过抽象类使用匿名类

package com.javaeasy.anonymousclass;

public class UseAnonymous {
	AnAbstractClass absCls = new AnAbstractClass() {
		public void method () {
	}
	};
}

通过上面代码可以看出来,通过抽象类或接口来使用匿名类的语法是相近的。核心部分都是对于抽象类型的抽象方法,在匿名类中具有体现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值