java 实现interface_Java接口(interface)及其实现

在面向对象编程时,除了使用抽象类来描述抽象的特性之外,还可以使用接口来阐述抽象的特性。从某些程度上讲,接口可以看作是抽象类的延伸。本节将重点介绍如何使用接口。

接口的基础

在声明接口时一般使用关键字 interface,其基本定义方式如下:

public interface baseInterface{ // 定义接口

void fun(); // 接口中的方法

}

在定义接口中的方法时,关键字 abstract 一般省略不写,而其访问控制权限也需要定义为 public 类型,否则不能被子类继承。该权限默认类型为 public,因此可以忽略不写。

接口和抽象类一样,不能被实例化。只能通过“子类”来实例化。在接口中只能定义空方法,而不能定义任何的方法体。在子类实例化时,需要将接口中的所有方法都“实例化”。接口的定义如下列代码所示:

package chapter10;

public interface baseInterface{ // 定义接口

public int add(); // 定义接口中的方法,均为空方法

public int min();

public int mul();

public int div();

}

接口的实现

当通过类实现接口时,需要使用关键字 implements 来实现某个接口。其作用类似于继承中的 extends 关键字。其基本用法如下:

public class 类名 implements 接口名{

// 类中的方法

}

在重写接口中的方法时,其返回值、形式参数等需要和接口中的定义方式一致,否则会被认为是类中自己的方法,而不是重写的接口中的方法。接口实现的代码如示例 1 所示。

【示例 1】接口的实现

在 baseInterface 类的基础下,创建interfaceClass 类,代码如下:

package chapter10;

public class interfaceClass implements baseInterface { // 继承接口

private int a;

private int b;

public void setA(int a) { // 实现接口中的方法

this.a = a;

}

public void setB(int b) {

this.b = b;

}

public int add() {

return a + b;

}

public int min() {

return a - b;

}

public int mul() {

return a * b;

}

public int div() {

return a / b;

}

public static void main(String[] args) {

interfaceClass interfaceClass = new interfaceClass(); // 定义接口类的对象

interfaceClass.setA(3);

interfaceClass.setB(5);

System.out.println(interfaceClass.a + "+"+ interfaceClass.b + "=" + interfaceClass.add());

System.out.println(interfaceClass.a + "-" + interfaceClass.b + "=" + interfaceClass.min());

System.out.println(interfaceClass.a + "*" + interfaceClass.b + "=" + interfaceClass.mul());

System.out.println(interfaceClass.a + "/" + interfaceClass.b + "=" + interfaceClass.div());

}

}

程序编译后,运行结果如下:

3+5=8

3-5=-2

3*5=15

3/5=0

从示例 1 可以看出,在使用接口作为基类时,接口中的方法均为空方法,而没有任何的方法体出现。当某类继承了这个接口之后,就需要将接口中的所有方法都实现,而在调用的时候也只能是通过子类的对象调用这些方法。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值