作者:挠挠扣扣笑嘻嘻 | 来源:互联网 | 2024-10-15 12:42
接口的作用:1、接口可以使项目分离,所有层都面向接口开发,提高开发效率;2、接口使代码和代码之间的耦合度降低;3、接口可以多实现,多继承,并且一个类除了接口之外
接口的作用:1、接口可以使项目分离,所有层都面向接口开发,提高开发效率;2、接口使代码和代码之间的耦合度降低;3、接口可以多实现,多继承,并且一个类除了接口之外,还可以继承其它类。
接口的作用:
(推荐教程:java入门程序)
1、可以使项目分离,所有层都面向接口开发,提高开发效率;
2、接口使代码和代码之间的耦合度降低,变得可插拔,可以随意切换;
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();
}
}