java interface 接口的使用好处分析
本文实例讲述了java interface接口的使用优点。分享给大家供大家参考,具体如下:
接口interface的作用是什么?
假设在以前我们开发了某个业务的实现类Demo1,现在根据需求我们需要重新设计该业务的实现类Demo2且不能影响其它业务的运行。
这时候就需要一个标准,一个针对该业务实现的一个标准接口(standardinterface)。而所有实现该接口(interface)的类都需要去实现该接口的方法。通过java向上转型实现针对不同的业务有不同类的实现。
注释:
1、interface只有方法名和返回值,没有方法体,都是抽象方法。切不能直接实例化(通过他的实现类向上转型获得该接口的实现)。
Test.java
packageTest;
publicinterfaceTest
{
//定义了一个接口方法
publicStringgetTestText();
}
Test1.java
packageTest;
publicclassTest1implementsTest
{
@Override
publicStringgetTestText()
{
return"thisclassnameistest1";
}
}
Test2.java
packageTest;
publicclassTest2implementsTest
{
@Override
publicStringgetTestText()
{
return"thisclassnametest2";
}
}
Index.java
importTest.Test;
publicclassIndex
{
publicstaticvoidmain(String[]args)
throwsException
{
Testtest1=testIndex("Test.Test1");
System.out.println(test1.getTestText());
Testtest2=testIndex("Test.Test2");
System.out.println(test2.getTestText());
}
publicstaticTesttestIndex(StringclassPath)
{
Testtest=(Test)Class.forName(classPath).newInstance();
returntest;
}
}
至此,你看出这样用的好处了吗?Test1和Test2都实现了接口Test如果以后要更改Test的实现或者是针对不同业务有不同的Test实现,我们都可以动态的载入针对Test不同的实现类。
接口与接口之间是可以继承的
Demo1.java
packageDemo;
publicinterfaceDemo1
{
publicStringgetName();
}
Demo2.java
packageDemo;
publicinterfaceDemo2extendsDemo1
{
publicStringgetAge();
}
Demo3.java继承Demo2需要实现Demo1和Demo2中的接口方法
packageDemo;
publicclassDemo3
{
@Override
publicStringgetName()
{
return"mynameisMr.tan";
}
@Override
publicStringgetAge()
{
return"myageis22";
}
}
其实本质就是一个类的多钟表现形态(多态)。针对不同的业务,相同的接口或者是类通过不同的实现类向上转型表现出不同的形态。
更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。