java  interface 接口的使用好处分析

本文实例讲述了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程序设计有所帮助。

以上是 java  interface 接口的使用好处分析 的全部内容, 来源链接: utcz.com/z/318236.html

回到顶部