출력은 다음과 같습니다
이것은 B입니다
이것은 C입니다
위의 예에서 클래스 B와 클래스 C는 InterA 인터페이스를 구현하는 두 클래스입니다. 그들은 각각 인터페이스의 fun() 메소드를 구현합니다. 클래스 B와 클래스 C의 인스턴스를 인터페이스 참조 a에 할당함으로써 바인딩은 "하나의 인터페이스, 다중 메소드"를 최대한 활용하여 Java의 동적 다형성을 보여줍니다.
한 가지 주의할 점은 Java가 인터페이스 변수를 사용하여 구현 클래스의 객체 메소드를 호출할 때 해당 메소드가 인터페이스에 선언되어 있어야 하며 인터페이스의 구현 클래스에 있는 구현 메소드의 유형 및 매개변수가 반드시 정의되어야 한다는 것입니다. 인터페이스에 정의된 것과 동일해야 합니다.
결론: 위의 내용은 Java 런타임 다형성의 구현 방법입니다. 프로그래밍 과정에서 유연하게 사용할 수 있지만 고성능 요구 사항이 있는 코드에서는 결국 Java의 런타임 동적 메서드 호출을 비교하는 것이 좋습니다. 일반적인 메서드 호출의 시스템 오버헤드는 상대적으로 큽니다.