>Java >java지도 시간 >기능적 인터페이스

기능적 인터페이스

Patricia Arquette
Patricia Arquette원래의
2025-01-07 08:10:40431검색

Interfaces funcionais

기능적 인터페이스 정의

  • 추상 메소드가 하나만 포함되어 있습니다.

  • 표준 및/또는 정적 메서드를 가질 수 있습니다.

  • 추상 메소드는 구현을 지정하지 않습니다.

MyValue 인터페이스 {
더블 getValue();
}

알림: Java에서는 인터페이스에 구현이 없는 모든 메소드가 자동으로 추상화된다고 가정하므로 기능적 인터페이스에서는 추상 수정자가 명시적으로 필요하지 않습니다.

기능적 인터페이스에 Lambda 할당

MyValue myVal = () -> 98.6;

람다의 반환 유형과 매개변수는 추상 메서드와 호환되어야 합니다.

추상 메서드 호출:

System.out.println("상수 값: " myVal.getValue());

결과: 98.6.

매개변수를 사용한 기능적 인터페이스

MyParamValue 인터페이스 {
double getValue(double v);
}

역수 계산이 포함된 람다:

MyParamValue myPval = (n) -> 1.0 / n;
System.out.println("4의 역수는 " myPval.getValue(4.0));

  • 결과: 0.25.

유형 추론

컨텍스트로 추론되는 매개변수 유형:
(n) -> 1.0/n; // double로 추론되는 유형

명시적으로 선언된 유형(선택 사항):
(이중 n) -> 1.0 / n;

호환성 규칙

  • 람다 표현식의 매개변수 유형과 개수는 추상 메서드와 일치해야 합니다.

(int x, int y) -> xy;

결론

  • 기능적 인터페이스를 통해 람다 사용이 가능합니다.

  • 람다 표현식은 추상 메서드를 간결하게 구현합니다.

  • 대상 유형 컨텍스트와 유형 호환성은 사용에 매우 중요합니다.

위 내용은 기능적 인터페이스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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