콜백 함수가 다시 발생했습니다. 이번에는 기록하고 공유 할 계획입니다.
객체 지향 언어의 So -Called Callback 함수 또는 콜백 메소드는 단순히 말하면 특정 시간에 호출되는 함수입니다 (이벤트 발생).
자세한 내용은 다른 함수 B로 전달되는 매개 변수로서 함수 A이며, B는 언젠가 B에 의해 호출된다.
의심의 여지가 있습니다. 한 기능은 다른 함수를 호출하기 때문에 함수를 다른 함수로 전달 해야하는 이유는 무엇입니까?
예, 기능 본문에서 다른 기능을 호출 할 수 있지만, 기능에는 차이가없는 것 같습니다. 함수 B 만 호출 할 수 있습니다. 다른 시나리오에서 A와 다르게 구현 된 기능 C가있는 경우 B의 특정 순간에 호출해야합니다.
C/C ++에서는 COMPLENT가 COMIN을 사용하여 콜백 함수를 계속 호출 할 수 있습니다 이벤트 키워드는 Python 및 JavaScript입니까? 나는 지금 안드로이드를해야한다. 그래서 나는 여전히 Java를 놓을 수 없으며, 오늘 나는 Java를 제외한이 블로그 언어에서 개인적으로 만난이 콜백 기능의 문제를 발견했다. 콜백의 실현을 쉽고 이해하지만 Java는 그렇게 생각하지 않습니다. 그렇지 않으면이 블로그를 작성하지 않을 것입니다.
글쎄, Java에서 회복 방법의 실현을 계속 말하십시오. 이 블로그의 초점은 Java입니다. Java에서는 콜백 메소드가 인터넷에서 차용하여 구현됩니다.
"특정 인터페이스를 구현하는 클래스가 만든 객체에 대한 참조는 인터페이스 문의 인터페이스 변수에 할당되므로 인터페이스 변수는 인터페이스 구현의 구현 방법을 호출 할 수 있습니다."
매우 둥글고 간단한 설명 :
인터페이스가 있고 인터페이스에 메소드가 있습니다 (이 메소드는 다시 호출하는 것입니다).
인터페이스 콜백 인터페이스 {void callbackmethod ();} 내부의 메소드가 실현되지 않기 때문에 인터페이스 객체는 직접 사용할 수 없다는 것을 알고 있습니다. 따라서이 인터페이스를 구현할 클래스를 찾으십시오.
따라서이 인터페이스를 구현하려면 지금 클래스를 추가하십시오.
인터페이스 콜백 인터페이스 {void CallbackMethod ();} 클래스 콜백 클래스는 CallbackInterface {@override public voidmetho d () {system.out.println ( "hello");}}마지막 단계 : 문의 인터페이스 변수에 대한 인터페이스를 구현하는 클래스를 구현하는 객체를 할당합니다 (나는 메소드에 그것을 썼다가 외부의 쉘 유형을 추가).
공개 클래스 CallBackTest {interface CallbackInterface {void CallbackMethod ();} 클래스 콜백 클래스 emcenceplass {e public void CallbackMethod () {system.out.println ( "hello");}} public void showcallback () {CallbackInterf ); itfs.callbackmethod ();}}이제 전화를 걸어 시도 할 수 있습니다.
공개 클래스 테스트 {public static void main (string [] art) {new CallbackTest ().사고가 없다면, 나는 성공적으로 인사를 출력 할 것입니다. 어쨌든 나는 여기 있습니다.
예제를 읽은 후에는 어떻게해야합니까? 그리고 Java는 메소드를 매개 변수로 전송할 수 없기 때문에이 콜백 메소드를 인터페이스에 넣어야합니다 (왜 클래스가 아닌가? 초록 클래스가 아닌가? 혼자서 인터페이스 하고이 문제를 혼자서 해결하십시오). 인터페이스가있는 경우 인터페이스의 객체가 인터페이스의 객체에 제공되는 한이 인터페이스의 객체를 해당 메소드라고 할 수 있습니다. 이것을 이해한다면, 여기에서 당신이 사용하는 다형성은 인터페이스의 객체를 부드럽게 할당 할 수 있고, 서브 클래스의 재 작성 방법 (클래스도 비슷한 개념을 가지고 있음)이 있습니다.
하나 더 말하면, 여기에서 콜백 인터페이스 인터페이스를 구현하는 클래스는 새로운 (즉, 할당) 뒤에 배치 할 수 있습니다. 다음 (즉, 할당) :
공개 클래스 CallBackTest {interface CallbackMethod ();} 클래스 CallbackClass는 CallbackIngface {e public void callbackmethod () {system.out.println ( "hello")} {private Callbackinterface cbitf; 사고를 시뮬레이션하기 위해 실용적인 가치가없고, 공개 부울의 행동은 실제로 콜백 클래스의 매개 변수이며, 인터페이스의 정의를 저장하는 것과 동일합니다. "콜백 함수"가 구현됩니다 () {cbitf.callbackmethod ();}} {callbackclass cbc = new CallbackClass (); = 새로운 컨트롤러 (CBC);결국, 이것은 종종 안드로이드에서 만나게됩니다.
위는 개인의 회복 기능을 이해하고 사용합니다.