>Java >java지도 시간 >Java 인터페이스의 상속 및 다형성 기능 알아보기

Java 인터페이스의 상속 및 다형성 기능 알아보기

王林
王林원래의
2023-12-23 13:00:57663검색

Java 인터페이스의 상속 및 다형성 기능 알아보기

Java 인터페이스의 상속 및 다형성 기능을 익히려면 특정 코드 예제가 필요합니다.

Java 언어에서 인터페이스는 일련의 메소드를 정의하는 추상 유형입니다. 인터페이스를 통해 일련의 메서드를 정의하고 다양한 클래스에서 구현할 수 있습니다. 인터페이스는 클래스에 의해 구현되는 것 외에도 다른 인터페이스를 상속할 수도 있습니다. 인터페이스를 구현하는 클래스는 다형성 기능을 통해 인터페이스를 상속할 수 있습니다.

다음으로 구체적인 코드 예제를 통해 Java 인터페이스의 상속 및 다형성 기능을 설명하겠습니다.

먼저 추상 메서드 sound()를 포함하여 기본 인터페이스 Animal을 정의합니다.

public interface Animal {
    void sound();
}

그런 다음 Animal 인터페이스에서 상속된 두 개의 하위 인터페이스, 즉 Dog와 Cat을 정의합니다. 이는 각각 자체 메서드 실행을 정의합니다. () 및 meow():

public interface Dog extends Animal {
    void run();
}

public interface Cat extends Animal {
    void meow();
}

다음으로 Dog 및 Cat 인터페이스를 구현하는 두 개의 구체적인 클래스인 GoldenRetriever 및 PersianCat를 정의합니다.

public class GoldenRetriever implements Dog {
    @Override
    public void sound() {
        System.out.println("汪汪汪!");
    }

    @Override
    public void run() {
        System.out.println("狗狗在奔跑!");
    }
}

public class PersianCat implements Cat {
    @Override
    public void sound() {
        System.out.println("喵喵喵!");
    }

    @Override
    public void meow() {
        System.out.println("猫猫在喵喵叫!");
    }
}

이제 다음과 같은 Animal 유형 A 참조를 통해 다형성 기능을 활용할 수 있습니다. Animal 인터페이스를 구현하지만 Animal 인터페이스에 정의된 메서드에만 액세스할 수 있는 구체적인 클래스의 개체입니다. 예:

public class Main {
    public static void main(String[] args) {
        Animal dog = new GoldenRetriever();
        Animal cat = new PersianCat();

        dog.sound();    // 输出汪汪汪!
        cat.sound();    // 输出喵喵喵!
    }
}

코드 예제에서 볼 수 있듯이 Dog 유형 참조 dog를 GoldenRetriever 객체로 가리키고 Cat 유형 참조 cat을 PersianCat 객체로 가리키면 이 두 참조를 통해 해당 sound() 메서드를 호출할 수 있습니다. , 개 짖는 소리, 고양이 야옹 소리가 각각 출력됩니다.

요약하자면, 인터페이스의 상속 및 다형성 기능을 통해 메소드 세트를 정의하고 인터페이스를 구현하는 클래스를 통해 이러한 메소드를 구현할 수 있습니다. 다형성 기능을 이용하면 인터페이스 타입의 참조를 통해 인터페이스를 구현하는 특정 클래스의 객체를 참조하고, 인터페이스에 정의된 메소드를 호출할 수 있다. 이러한 유연성과 확장성은 Java 인터페이스의 중요한 기능이며 코드 재사용성과 유지 관리성을 향상시키는 데 중요합니다.

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

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