>  기사  >  Java  >  인터페이스는 무엇을 합니까?

인터페이스는 무엇을 합니까?

王林
王林원래의
2020-06-28 16:05:1027447검색

인터페이스의 역할: 1. 인터페이스는 프로젝트를 분리할 수 있으며 모든 계층은 개발 효율성을 높이기 위해 인터페이스를 향해 개발됩니다. 2. 인터페이스는 코드와 코드 간의 결합을 줄입니다. 3. 인터페이스는 다양한 방법으로 구현 및 상속될 수 있습니다. 인터페이스 외에도 클래스는 다른 클래스를 상속할 수도 있습니다.

인터페이스는 무엇을 합니까?

인터페이스의 역할:

(권장 튜토리얼: java 입문 프로그램)

1. 프로젝트를 분리할 수 있으며 모든 레이어가 인터페이스 개발을 지향하므로 개발 효율성이 향상됩니다. 코드 작성 및 코드 간의 결합이 감소하고, 연결 가능하며, 마음대로 전환할 수 있습니다.

3. 인터페이스는 여러 방식으로 구현 및 상속될 수 있으므로 인터페이스와 추상 클래스 모두 특정 기능을 완료할 수 있습니다. 클래스는 인터페이스 외에도 다른 클래스도 상속할 수 있습니다.

(동영상 튜토리얼 추천:

java 동영상 튜토리얼

) 코드 예:

public interface CustomerService {    //定义一个推出系统的方法
    void logout();
}

package date818;//接口实现类1public class CustomerServierImpl implements CustomerService {    
    public void logout(){
        System.out.println("成功退出系统");
    }
}

package date818;//接口实现类2public class CustomerServiceImpl2 implements CustomerService{    
    public void logout(){
        System.out.println("hello world");
    }
}

package date818;public class TestCustomer {    
    public static void main(String[] args){  //需要执行CustomerServiceImpl和CustomerImpl2接口实现类中的logout方法
        //以下程序面向接口调用
        CustomerService cs = new CustomerServierImpl();//多态。父类型引用指向子类型对象
        //调用
        cs.logout();
        CustomerService cs2 = new CustomerServiceImpl2();
        cs2.logout();
    }
}

인터페이스 정의

package date818;
public interface Engine {    //所有发动机都可以通过这个接口启动
    void start();
}//定义实现接口的类
package date818;
public class Honda implements Engine{    
    public void start(){
        System.out.println("本田启动");
    }
}
package date818;public class Ymaha implements Engine{    
    public void start(){
        System.out.println("雅马哈启动");
    }
}//定义生产汽车的类package date818;public class Car {    //面向接口编程,不能将类实例化
    /**
     * 引用接口定义一个属性e,相当于
     * String name;
     * Integer age;
     * 类里定义的变量是成员变量;方法里定义的变量是局部变量。
     */
    Engine e ;//成员变量e

    Car(Engine e){        //定义构造方法,把局部变量e赋值给成员变量
        this.e=e;
    }    //对外提供的测试方法
    public void testEngine(){        //成员变量e
        e.start();
    }
}//定义测试类package date818;public class TestCar {    
    public static void main(String[] args){        //生产引擎
        Engine e = new Ymaha();        //根据构造方法传入参数生产汽车
        Car c = new Car(e);        //测试引擎
        c.testEngine();

        c.e = new Honda();//已经定义了一个实例,直接对实例的参数修改即可
        c.testEngine();
    }
}

위 내용은 인터페이스는 무엇을 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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