java中接口的作用是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
接口的定义:
Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
两种含义:一,Java接口,Java语言中存在的结构,有特定的语法和结构;二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做"Java接口",后者叫做"接口"。
在Java语言规范中,一个方法的特征仅包括方法的名字、参数的数目和类型,而不包括方法的返回类型、参数名以及所抛出来的异常。在Java编译器检查方法的重载时,会根据这些条件判断两个方法是否是重载方法。但在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(); } }
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。