기능적 인터페이스 정의
추상 메소드가 하나만 포함되어 있습니다.
표준 및/또는 정적 메서드를 가질 수 있습니다.
추상 메소드는 구현을 지정하지 않습니다.
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));
유형 추론
컨텍스트로 추론되는 매개변수 유형:
(n) -> 1.0/n; // double로 추론되는 유형
명시적으로 선언된 유형(선택 사항):
(이중 n) -> 1.0 / n;
호환성 규칙
(int x, int y) -> xy;
결론
기능적 인터페이스를 통해 람다 사용이 가능합니다.
람다 표현식은 추상 메서드를 간결하게 구현합니다.
대상 유형 컨텍스트와 유형 호환성은 사용에 매우 중요합니다.
위 내용은 기능적 인터페이스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!