时间:2021-05-19
本文实例讲述了java interface 接口的使用优点。分享给大家供大家参考,具体如下:
接口interface 的作用是什么?
假设在以前我们开发了某个业务的实现类Demo1,现在根据需求我们需要重新设计该业务的实现类Demo2且不能影响其它业务的运行。
这时候就需要一个标准,一个针对该业务实现的一个标准接口(standard interface)。而所有实现该接口(interface)的类都需要去实现该接口的方法。通过java向上转型实现针对不同的业务有不同类的实现。
注释:
1、interface 只有方法名和返回值,没有方法体,都是抽象方法。切不能直接实例化(通过他的实现类向上转型获得该接口的实现)。
Test.java
package Test;public interface Test{ //定义了一个接口方法 public String getTestText();}Test1.java
package Test;public class Test1 implements Test{ @Override public String getTestText() { return "this class name is test1"; }}Test2.java
package Test;public class Test2 implements Test{ @Override public String getTestText() { return "this class name test2"; }}Index.java
import Test.Test;public class Index{ public static void main(String[] args) throws Exception { Test test1 = testIndex("Test.Test1"); System.out.println(test1.getTestText()); Test test2 = testIndex("Test.Test2"); System.out.println(test2.getTestText()); } public static Test testIndex(String classPath) { Test test = (Test)Class.forName(classPath).newInstance(); return test; }}至此,你看出这样用的好处了吗?Test1和Test2都实现了接口Test 如果以后要更改Test的实现或者是针对不同业务有不同的Test实现,我们都可以动态的载入针对Test不同的实现类。
接口与接口之间是可以继承的
Demo1.java
package Demo;public interface Demo1{ public String getName();}Demo2.java
package Demo;public interface Demo2 extends Demo1{ public String getAge();}Demo3.java 继承Demo2 需要实现Demo1和Demo2中的接口方法
package Demo;public class Demo3{ @Override public String getName() { return "my name is Mr.tan"; } @Override public String getAge() { return "my age is 22"; }}其实本质就是一个类的多钟表现形态(多态)。针对不同的业务,相同的接口或者是类通过不同的实现类向上转型表现出不同的形态。
更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在传统的Java编程中,被广为人知的一个知识点是:javaInterface接口中不能定义private私有方法。只允许我们定义public访问权限的方法、抽象
计算图像处理技术在网页设计中的应用发展。随着计算机技术的发展,计算机成像技术的使用正变得越来越普遍,经过多方面的研究和探索,将使用计算机图像处理技术的好处分为以
工程做好之后,需要对接口进行压力测试。可以自己编写线程池模拟多用户访问测试,也可以使用jmeter进行压测。jmeter的好处是测试方便,并且有完善的结果分析功
1、预编译的好处 大家平时都使用过JDBC中的PreparedStatement接口,它有预编译功能。什么是预编译功能呢?它有什么好处呢? 当客户发送一条S
上网购物好处有三,坏处有三:好处一,节省时间节省外出费用好处二,可以海量挑选同类产品好处三,可以全同行比价买到最低价产品纵有千条万条好处,但是别忘记网购的风险坏