个人自创Java回调爆栈方式,按下你的自爆按钮吧!骚年!

事情是:今天学习Java回调的时候,爆栈瘾犯了,结果……打开相应的注释和注释一些代码就明白了,怎么操作?你懂的……

/*1.接口定义C功能*/
interface InterfaceC //接口C
{
	public void FunctionC(); //C功能
}

/*2.定义B功能传入接口C参数*/
class ClassB //B类
{
	void FunctionB(InterfaceC C) //B功能传入接口C参数
	{
		System.out.println("3"); //系统输出换行打印信息
		C.FunctionC(); //接口C执行C功能
		System.out.println("6"); //系统输出换行打印信息
	}
}

/*3.执行B功能传入A类参数*/
class ClassA implements InterfaceC //A类实现接口C
{
	ClassB B = new ClassB(); //创建B类为A类内部变量
	void FunctionA() //A功能
	{
		System.out.println("2"); //系统输出换行打印信息
		ClassA A = new ClassA(); //创建A类为A类函数内部变量
		B.FunctionB(A); //B类执行B功能传入A类参数
		System.out.println("7"); //系统输出换行打印信息
	}
	public void FunctionC() //C功能
	{
		/*以下注释如果打开会递归爆栈*/
		//ClassA A = new ClassA(); //创建A类为A类函数内部变量
		//B.FunctionB(A); //B类执行B功能传入A类参数
		System.out.println("4"); //系统输出换行打印信息
		System.out.println("FunctionA From FunctionC"); //系统输出换行打印信息
		System.out.println("5"); //系统输出换行打印信息
	}
}

/*4.执行A功能*/
class CallbackDemo //回调示例类
{
	public static void main(String[] Ann) //主函数
	{
		System.out.println("1"); //系统输出换行打印信息
		ClassA A = new ClassA(); //创建A类
		A.FunctionA(); //A类执行A功能
		/*以下注释如果打开会递归爆栈*/
		//A.FunctionC(); //A类执行C功能
		System.out.println("8"); //系统输出换行打印信息
	}
}

黑马程序员强悍的风格根本绝对无需解释!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值