Heim > Java > JavaBase > Was macht die Schnittstelle?

Was macht die Schnittstelle?

王林
Freigeben: 2020-06-28 16:05:10
Original
27481 Leute haben es durchsucht

Die Rolle von Schnittstellen: 1. Schnittstellen können Projekte trennen, und alle Ebenen werden in Richtung Schnittstellen entwickelt, um die Entwicklungseffizienz zu verbessern. 2. Schnittstellen reduzieren die Kopplung zwischen Code und Code. 3. Schnittstellen können auf verschiedene Arten implementiert werden , Mehrfachvererbung, und zusätzlich zu Schnittstellen kann eine Klasse auch andere Klassen erben.

Was macht die Schnittstelle?

Funktion der Schnittstelle:

(Empfohlenes Tutorial: Java-Eingabeprogramm)

1 . Es kann Projekte trennen und alle Ebenen in Richtung Schnittstellen entwickeln.

2. Schnittstellen reduzieren die Kopplung zwischen Codes und können nach Belieben umgeschaltet werden Schnittstellen und abstrakte Klassen können eine bestimmte Funktion erfüllen. Schnittstellen werden bevorzugt, da Schnittstellen auf verschiedene Arten implementiert und geerbt werden können und eine Klasse zusätzlich zu Schnittstellen auch andere Klassen erben kann.

(Empfohlenes Video-Tutorial:

Java-Video-Tutorial

)Codebeispiel:

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();
    }
}
Nach dem Login kopieren

Schnittstelle definieren

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();
    }
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas macht die Schnittstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage