java:匿名内部类

本文介绍了Java中匿名内部类的两种实现接口的方法,并通过示例展示了如何利用匿名内部类来实现接口并调用其中的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

匿名内部类经常与接口搭配使用,即没有名字的内部类,更多关注实现,而不关注类名。


其实是为了让程序员偷懒,不需要重新再建新文件而出现的一种方法。。。


匿名内部类有2种实现接口的方法:


package telhone;

public class telihone implements Ipalygame { // 普通类继承接口Ipalygame
	public void call() {
	} // abstract修饰符

	public void Message() {
	} // abstract修饰符

	@Override
	public void game() {
		// TODO Auto-generated method stub
		System.out.println("手机有了玩游戏的功能");
	}

}

package telhone;

public abstract interface Ipalygame { // 接口,属于抽象类

	public abstract void game(); // 抽象方法

}

package telhone;

public class run {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Ipalygame tel1 = new SmartPhone(); // 引用接口创建 SmartPhone类 的对象tel1
		tel1.game(); // tel1,调用SmartPhone()中的game方法。
		Ipalygame tel2 = new Psp(); // 引用接口Ipalygame创建 SmartPhone类 的对象tel2
		tel2.game(); // tel1,调用Psp()中的game方法。

		Ipalygame tel3 = new Ipalygame() {		//第一种方法引用接口new一个接口类,在接口类中实现抽象方法,再使用接口类调用方法。
			@Override
			public void game() {
				// TODO Auto-generated method stub
				System.out.println("匿名内部类1");
			}
		};
		tel3.game();
		
		new Ipalygame() {		//第二种方法直接new一个接口类,在接口类中实现抽象方法,然后直接.调用方法。
			@Override
			
			public void game() {
				// TODO Auto-generated method stub
				System.out.println("匿名内部类");
			}
		}.game();
	}

}


package telhone;

public class Psp implements Ipalygame {

	@Override
	public void game() {
		// TODO Auto-generated method stub
		System.out.println("PSP有了玩游戏的功能");
	}

}


运行结果:

智能手机有了玩游戏的功能
PSP有了玩游戏的功能
匿名内部类1
匿名内部类


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值