java
Java 8은 인터페이스에 기본 메소드 구현이라는 새로운 개념을 도입했습니다. 이 기능은 이전 인터페이스를 사용하여 Java 8의 람다 표현식 기능을 활용할 수 있도록 이전 버전과의 호환성을 위해 추가되었습니다.
예를 들어 'List' 또는 'Collection' 인터페이스에는 'forEach' 메서드 선언이 없습니다. 따라서 이러한 메서드를 추가하면 컬렉션 프레임워크 구현이 중단됩니다. Java 8은 List/Collection 인터페이스가 forEach 메소드의 기본 구현을 가질 수 있도록 기본 메소드를 도입했으며 이러한 인터페이스를 구현하는 클래스는 동일하게 구현할 필요가 없습니다.
public interface vehicle { default void print() { System.out.println("I am a vehicle!"); } }
인터페이스의 기본 기능을 사용하면 클래스가 동일한 기본 메서드를 사용하여 두 개의 인터페이스를 구현할 가능성이 있습니다. 다음 코드는 이 모호성을 해결하는 방법을 설명합니다.
public interface vehicle { default void print() { System.out.println("I am a vehicle!"); } } public interface fourWheeler { default void print() { System.out.println("I am a four wheeler!"); } }
첫 번째 솔루션은 기본 구현을 재정의하는 고유한 메서드를 만드는 것입니다.
public class car implements vehicle, fourWheeler { public void print() { System.out.println("I am a four wheeler car vehicle!"); } }
두 번째 해결책은 super를 사용하여 지정된 인터페이스의 기본 메소드를 호출하는 것입니다.
public class car implements vehicle, fourWheeler { public void print() { vehicle.super.print(); } }
인터페이스에는 Java 8 이후의 정적 도우미 메서드도 포함될 수 있습니다.
public interface vehicle { default void print() { System.out.println("I am a vehicle!"); } static void blowHorn() { System.out.println("Blowing horn!!!"); } }
예를 들어 C:\> JAVA.
에서 원하는 편집기를 사용하여 다음 Java 프로그램을 만듭니다.public class Java8Tester { public static void main(String args[]) { Vehicle vehicle = new Car(); vehicle.print(); } } interface Vehicle { default void print() { System.out.println("I am a vehicle!"); } static void blowHorn() { System.out.println("Blowing horn!!!"); } } interface FourWheeler { default void print() { System.out.println("I am a four wheeler!"); } } class Car implements Vehicle, FourWheeler { public void print() { Vehicle.super.print(); FourWheeler.super.print(); Vehicle.blowHorn(); System.out.println("I am a car!"); } }
javac를 사용하여 클래스 컴파일 다음과 같이 컴파일러 -
C:\JAVA>javac Java8Tester.java
이제 다음과 같이 Java8Tester를 실행하십시오. -
C:\JAVA>java Java8Tester
다음 출력을 생성해야 합니다. -
I am a vehicle! I am a four wheeler! Blowing horn!!! I am a car!
java
문자열이란 무엇입니까? 문자 그대로의 문자열은 일련의 문자입니다. 야, 문자라고 했지, 자바의 원시 데이터 타입이 아니야. 예, 기술적인 측면에서 기본 Java String은 기본적으로 문자 배열입니다. 따라서 위의 ROSE 문자열 는 다음과 같이 나타낼 수 있습니다. – 이 튜토리얼에서 배우게 될 내용- 문자열이란 무엇입니까? 문자열을 사용하는 이유 문자열 구문 예제 문자열 연결 중요 자바 문자열 방법 문자열을 사용하는 이유 현대 컴퓨터 과학의 주요 기능 중 하나는 인간의 언어를 처리하는 것입니다. 숫자가
Java 메소드는 작업을 수행하기 위해 함께 그룹화되는 명령문의 모음입니다. System.out.println()을 호출할 때 예를 들어, 시스템은 콘솔에 메시지를 표시하기 위해 실제로 여러 명령문을 실행합니다. 이제 반환 값이 있거나 없는 고유한 메서드를 만들고 매개 변수가 있거나 없는 메서드를 호출하고 프로그램 디자인에서 메서드 추상화를 적용하는 방법을 배웁니다. 생성 방법 메소드의 구문을 설명하기 위해 다음 예를 고려하십시오 - 구문 public static int methodName(int a, int b) {