1. 程式人生 > >個人自創Java回撥爆棧方式,按下你的自爆按鈕吧!騷年!

個人自創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"); //系統輸出換行列印資訊
	}
}

黑馬程式設計師強悍的風格根本絕對無需解釋!

相關推薦

個人Java方式按鈕

事情是:今天學習Java回撥的時候,爆棧癮犯了,結果……開啟相應的註釋和註釋一些程式碼就明白了,怎麼操作?你懂的…… /*1.介面定義C功能*/ interface InterfaceC //介面C { public void FunctionC(); //C功能 }

java 的基本使用HttpUtil邏輯封裝

回撥 邏輯圖 HttpCallbackListener 介面,也就是 耗時操作結束後返回給 呼叫方 的通道 public interface HttpCallbackListener { void onFinished(String respons

java 介面。Android Interface 定義介面

不是很懂java 的Interface 介面的具體怎麼實現的。在網上看了很多例子,終於理解了那麼點啊。 因為原來在學習做一個微信的語音功能要做到一個介面功能。微信的後面有時間會寫出來。 Interf

java 的 基本使用場合 和 講解 以及 HttpUtil邏輯封裝

回撥 邏輯圖 HttpCallbackListener 介面,也就是 耗時操作結束後返回給 呼叫方 的通道 public interface HttpCallbackListener { void onFinished(String response); voi

java原理以及Callable和FutureTask通過機制建立可監控的執行緒

回撥的概念會JS的人應該都能理解。 回撥分非同步回撥,同步回撥。但是同步回撥其實沒什麼意義。都同步了,那麼直接等那邊執行完了,這邊再執行就可以了,沒必要通過回撥。我們說的回撥主要是講非同步回撥。用於兩個執行緒甚至兩個系統之間互動呼叫。 例如我在A類的方法funa()中,要呼叫B類的方法fun

java機制詳解

原文出自這兒:https://blog.csdn.net/fengye454545/article/details/80198446   為了自己能夠加深理解自己動手敲了一遍,也寫寫,有時間看看。更詳細建議訪問原創博主。 ===========================

java機制用的理解與例項

生活場景如下: Wang寫數學題,有一道比較難,需要問Li,Li也不會,要先回家一趟問問老爸怎麼做,這個時候有wang如下三種選擇: 1)一直等待Li回來,期間啥也不幹同步方式 2) 等等再過來看Li回來沒,非同步future方式 3)wang把電話留下來,讓LI回來時打電話給自

java函式詳解

宣告:部落格參考於https://www.cnblogs.com/yangmin86/p/7090882.html,謝謝哥們 回撥函式:是指在A類執行程式碼時,呼叫了B類中的方法,但B類中的方法執行了A類中的方法。 example: 1、Boss.java(Boss類中執行程式碼,呼叫了Emp類的doP

java 的原理與實現

回撥函式,顧名思義,用於回撥的函式。回撥函式只是一個功能片段,由使用者按照回撥函式呼叫約定來實現的一個函式。回撥函式是一個工作流的一部分,由工作流來決定函式的呼叫(回撥)時機。 回撥原本應該是一個非常簡單的概念,但是可能因為平時只用系統為我們寫好的回撥的介面了,自己很少實現

一個經典例子讓徹徹底底理解java機制

                以前不理解什麼叫回調,天天聽人家說加一個回撥方法啥的,心裡想我草,什麼叫回調方法啊?然後自己就在網上找啊找啊找,找了很多也不是很明白,現在知道了,所謂回撥:就是A類中呼叫B類中的某個方法C,然後B類中反過來呼叫A類中的方法D,D這個方法就叫回調方法,這樣子說你是不是有點暈暈的,

深入淺出: Java機制(非同步)

Writer      :李強強 什麼是回撥?今天傻傻地截了張圖問了下,然後被陳大牛回答道“就一個回撥…”。此時千萬個草泥馬飛奔而過(逃 哈哈,看著原始碼,享受著這種回撥在程式碼上的作用,真是美哉。不妨總結總結。 一、什麼是回撥 回撥,回撥。要先有呼叫,才有呼叫者和被呼叫者之間的回撥。所以在百

[Java]機制

現有A、B兩個類,兩個類的例項a、b,A中實現a()方法,B中實現b()方法。 回撥要求物件a在呼叫b物件的b()方法時,b()方法返回前需呼叫物件a的a()方法。 以管道通訊傳輸為例,程式需要一邊不停接收對端傳來的資料並將接收到的資料進行處理,而又不影響主執行緒的進行。  

Java機制的學習(CallBack)

深入淺出的理解Java回撥機制(一個有趣的小例子): http://www.cnblogs.com/heshuchao/p/5376298.html Java同步呼叫,非同步呼叫,回撥(參考) https://www.cnblogs.com/xrq730/p/6424471.html

Java基礎9——深入理解java機制

Java回撥機制 回撥的引入故事 轉載自Bro_超 // 同步回撥 1 public interface doJob 2 { 3 public void fillBlank(int a, int b, int result); 4 } 1 public class Su

Java機制(非同步)

什麼是回撥?今天傻傻地截了張圖問了下,然後被陳大牛回答道“就一個回撥…”。此時千萬個草泥馬飛奔而過(逃 哈哈,看著原始碼,享受著這種回撥在程式碼上的作用,真是美哉。不妨總結總結。 一

java 函式詳解

在C或者C++中回撥函式的定義: 程式在呼叫一個函式時,將自己的函式的地址作為引數傳遞給程式呼叫的函式時(那麼這個自己的函式稱回撥函式) Java中沒有指標,不能傳遞方法的地址,一般採用介面回撥實現:把實現某一介面的類建立的物件的引用賦給該介面宣告的介面變

java機制經典例子

以前不理解什麼叫回調,天天聽人家說加一個回撥方法啥的,心裡想我草,什麼叫回調方法啊?然後自己就在網上找啊找啊找,找了很多也不是很明白,現在知道了,所謂回撥:就是A類中呼叫B類中的某個方法C,然後B類中反過來呼叫A類中的方法D,D這個方法就叫回調方法,這樣子說你是不

Java 函式callback 用法

1.定義回撥函式介面裡面包含一個方法public interface CallBack { public void execute(); }2.定義回撥函式的實現 public class Bo

Java 函式(傳統方法和lambda方法)-一個例子秒懂

背景: 想寫一個工具類 Tool.java ,其中方法 public void readOneLine() 負責一行一行地讀檔案,然後根據不同的業務,對每一行進行不同處理。最後輸出到檔案 out.txt 那麼問題來了,根據不同的業務,進行不同處理 怎麼實現?

Java機制在Android中的應用

一、前言 1.回撥定義 就是A類中呼叫B類中的某個方法C,然後B類中反過來呼叫A類中的方法D,D這個方法就叫回調方法 2.經典的回撥方式: ● Class A實現介面CallBack callback——背景1 ● class A中包含一個