>Java >java지도 시간 >인터페이스 콜백 메소드의 Java 구현 분석 예

인터페이스 콜백 메소드의 Java 구현 분석 예

黄舟
黄舟원래의
2017-09-15 10:11:352455검색

이 글의 주요 내용은 실제 코드를 통해 Java 프로그래밍에서 인터페이스 콜백의 일반적인 사용법을 보여주는 것입니다. 여기에는 특정 참조 값이 필요합니다.

인터페이스 콜백은 클래스를 만들 수 있음을 의미합니다. 특정 인터페이스를 사용하는 객체의 참조는 인터페이스에서 선언된 인터페이스 변수에 할당되며, 인터페이스 변수는 클래스에서 구현된 인터페이스의 메서드를 호출할 수 있습니다. 실제로 인터페이스 변수는 클래스가 구현한 인터페이스의 메소드를 호출할 때 해당 객체에게 인터페이스의 메소드를 호출하라고 알려주는 과정을 객체 함수의 인터페이스 콜백이라고 한다.

Java 인터페이스 콜백의 일반적인 사용법: 인터페이스 구현은 실제로 추상 클래스 상속과 유사합니다. 단, 상속은 클래스 수준에서 작동하는 반면 인터페이스는 메서드 및 상수 컬렉션 수준에서 작동합니다. 인터페이스는 추상 클래스보다 더 추상적이고 간결합니다. . 인터페이스 구현은 하나 이상의 특정 메서드와 일부 상수를 상속하는 것으로 볼 수 있으며 여기서는 인터페이스의 특정 규칙을 자세히 설명하지 않습니다.

인터페이스와 추상 클래스를 사용하는 이유는 무엇입니까? 여러 관점에서 볼 때 이는 열기 및 닫기 원리와 같은 객체 지향 디자인 아이디어와 일치하기 때문입니다.

실제 개발 관점에서 볼 때 Java는 다중 상속을 지원하지 않습니다. 이를 보완하기 위해 인터페이스의 존재는 상속과 달리 다중 인터페이스를 구현할 수 있습니다.

인터페이스의 주요 기능은 콜백을 구현하는 것입니다. 콜백은 동기 콜백과 비동기 콜백으로 구분됩니다. 차이점은 콜백에 시간이 많이 걸리는 작업이 있는 경우 비동기 콜백이 필요하다는 것입니다. 사용됩니다.

다음은 모두 비동기 콜백을 예로 사용합니다. 다음은 Java 작성을 예로 들어 설명하며 Android에도 동일하게 적용됩니다.

1. 일반 사용법

새 항목 클래스 Main을 만들고 새 인터페이스 InterfaceExample을 만듭니다. :


public class Main implements InterfaceExample{
  public static void main(String[] args) {
    System.out.println("------接口使用测试--------");
    InterfaceTest test = new InterfaceTest();
    //调用InterfaceTest的handleThings方法,并传递Main的实例
    test.handleThings(new Main());
    System.out.println("------异步回调测试--------");
  }
  @Override  //重写接口方法
  public void sendMessage(String string) {
    System.out.println("接口回调成功,利用 " + string + " 做一些事");
  }
}
 
//接口也可以写在一个独立的.java文件里
interface InterfaceExample {
  void sendMessage(String string);
}

Main에서 handlerThings가 호출될 때에도 비동기 처리가 수행될 수 있습니다.


2. 익명 내부 클래스를 결합하여 인터페이스 콜백 구현

두 번째 메서드는 첫 번째 클래스를 기반으로 Main 클래스만 수정하면 됩니다.

public class InterfaceTest {
  //注意这里Main实例向上转型,接口变量引用了Main实例
  public void handleThings(InterfaceExample example) {
    new Thread(new Runnable() {
      @Override
      public void run() {
        System.out.println("-----做一些事------");
        try {
          Thread.sleep(3000);
        } catch (InterruptedException e) {
          e.printStackTrace();
        }
        //回调接口方法
        example.sendMessage("接口传的参数");
      }
    }).start();
  }
}

보시다시피 익명 내부 클래스 메서드가 사용됩니다. 코드를 단순화하여 프로그램 구조를 더 명확하게 만들 수 있습니다. 따라서 이러한 사용법은 매우 일반적입니다. 예를 들어 Android 시스템에서 제공하는 보기의 클릭 이벤트는 이러한 형태의 콜백을 사용합니다. 출력은 동일합니다:

------接口使用测试--------
------异步回调测试--------
-----做一些事------
接口回调成功,利用 接口传的参数 做一些事

위 내용은 인터페이스 콜백 메소드의 Java 구현 분석 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.