java  interface 接口的使用好处分析

所属分类: 软件编程 / java 阅读数: 52
收藏 0 赞 0 分享

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

更多精彩内容其他人还在看

JavaWeb项目部署到服务器详细步骤详解

这篇文章主要介绍了JavaWeb项目如何部署到服务器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

IDEA基于支付宝小程序搭建springboot项目的详细步骤

这篇文章主要介绍了IDEA基于支付宝小程序搭建springboot项目的详细步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解SpringBoot应用服务启动与安全终止

这篇文章主要介绍了SpringBoot应用服务启动与安全终止,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Spring Boot启动及退出加载项的方法

这篇文章主要介绍了Spring Boot启动及退出加载项的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Spring Data Jpa 自动生成表结构的方法示例

这篇文章主要介绍了Spring Data Jpa 自动生成表结构的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

IDEA中osgi的开发应用指南详解

这篇文章主要介绍了IDEA中osgi的开发应用指南详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解用maven将dubbo工程打成jar包运行

这篇文章主要介绍了详解用maven将dubbo工程打成jar包运行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解Java合并数组的两种实现方式

这篇文章主要介绍了Java合并数组的两种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

使用Jenkins Pipeline自动化构建发布Java项目的方法

这篇文章主要介绍了使用Jenkins Pipeline自动化构建发布Java项目的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

使用Maven配置Spring的方法步骤

这篇文章主要介绍了使用Maven配置Spring的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多