Maison >Java >JavaBase >Que fait l'interface ?

Que fait l'interface ?

王林
王林original
2020-06-28 16:05:1027453parcourir

Le rôle des interfaces : 1. Les interfaces peuvent séparer les projets, et toutes les couches sont développées vers des interfaces pour améliorer l'efficacité du développement ; 2. Les interfaces réduisent le couplage entre le code et le code ; 3. Les interfaces peuvent être implémentées de plusieurs manières ; , Héritage multiple, et en plus des interfaces, une classe peut également hériter d'autres classes.

Que fait l'interface ?

Fonction de l'interface :

(Tutoriel recommandé : Programme d'entrée Java)

1 . Il peut séparer les projets et toutes les couches sont développées vers des interfaces pour améliorer l'efficacité du développement ;

2. Les interfaces réduisent le couplage entre les codes et deviennent connectables et peuvent être commutées à volonté ; les interfaces et les classes abstraites peuvent remplir une certaine fonction. Les interfaces sont préférées car les interfaces peuvent être implémentées et héritées de plusieurs manières, et en plus des interfaces, une classe peut également hériter d'autres classes.

(Tutoriel vidéo recommandé :

Tutoriel vidéo Java

)Exemple de code :

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();
    }
}

Définir l'interface

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();
    }
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Quelle est l'interfaceArticle suivant:Quelle est l'interface