> 类库下载 > java类库 > Java 상속 및 인터페이스

Java 상속 및 인터페이스

高洛峰
풀어 주다: 2016-11-03 14:47:38
원래의
1824명이 탐색했습니다.

인터페이스의 가장 중요한 역할은 인터페이스를 사용하는 가장 중요한 이유이기도 합니다. 인터페이스는 여러 기본 클래스로 추적될 수 있습니다. 인터페이스를 사용하는 두 번째 이유는 추상 기본 클래스를 사용하는 것과 동일합니다. 클라이언트 프로그래머가 이 클래스의 객체를 만들고 그것이 단지 인터페이스라고 지정하는 것을 방지하기 위해서입니다. 이것은 질문을 제기합니다: 인터페이스를 사용해야 할까요, 아니면 추상 클래스를 사용해야 할까요? 인터페이스를 사용하면 추상 클래스와 인터페이스의 이점을 동시에 얻을 수 있습니다. 따라서 생성하려는 기본 클래스에 메서드 정의나 멤버 변수가 없으면 어쨌든 추상 클래스 대신 인터페이스를 사용할 의향이 있습니다. 실제로 어떤 항목이 기본 클래스가 될 것이라는 것을 미리 알고 있다면 첫 번째 옵션은 이를 인터페이스로 전환하는 것입니다. 추상 클래스는 메서드 정의나 멤버 변수를 사용해야 하는 경우에만 고려해야 합니다.

/**
 * Created by xfyou on 2016/11/3.
 * Java 继承和接口演示
 */
public class Adventure {
    static void t(CanFight x) {
        x.fight();
    }

    static void u(CanSwim x) {
        x.swim();
    }

    static void v(CanFly x) {
        x.fly();
    }

    static void w(ActionCharacter x) {
        x.fight();
    }

    public static void main(String[] args) {
        Hero i = new Hero();
        t(i);
        u(i);
        v(i);
        w(i);
    }
}

interface CanFight {
    void fight();
}

interface CanSwim {
    void swim();
}

interface CanFly {
    void fly();
}

class ActionCharacter {
    // 父类中实现了子类中继承的接口方法
    public void fight() {
    }
}

/**
 * 必须先 extends 然后再 impplements
 */
class Hero extends ActionCharacter implements CanFight, CanSwim, CanFly {
    @Override
    public void fly() {

    }

    @Override
    public void swim() {

    }
}
로그인 후 복사


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿