Java中的接口(与抽象类的区别)

接口的概念

在JAVA编程语言中,接口是一个抽象类型,类似于抽象类。接口以interface来声明,其中只进行函数原型的声明,而不对函数进行实现。一个类通过继承接口的方式,来继承接口中的方法,进而对接口中的方法进行实现。

接口特性

  • 接口没有构造方法。并且接口不能用于实例化对象。

  • 接口中每一个方法是隐式抽象的,接口中的方法会被隐式的指定为 public abstract。

  • 接口中可以含有变量,但是接口中的变量会被隐式的指定为 public static final 变量。

  • 接口中的方法是不能在接口中实现的,只能由实现接口的类来实现接口中的方法。

代码示例

// 定义接口
public interface Myinterface {
  // 定义程序使用的常量(接口中只能存在常量)
  public static final double price = 1450.00;
  public static final int counter = 5;
  //接口中所有的方法都没有实现
  public int add(int x, int y);
  public int sub(int x, int y);
}
//实现接口
public class MyImple implements Myinterface {
    @Override
        public int add(int x, int y) {
        return x + y;
    }
    @Override
        public void sub(int x, int y) {
        return x - y;
    }
}

接口和抽象类的区别

abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,这两者对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换。但其实,两者之间还是有很大的区别的

1、接口体现的是一种规范,抽象类体现的是模板式设计。

2、接口中不可以存在构造函数,但抽象类中可以有。

3、数据成员:接口里的变量全部为静态常量(static final),抽象类里可以有普通变量

4、成员方法:接口的所有方法都是抽象的,不在接口中进行实现。而抽象类中既可以存在抽象方法又可以存在普通的方法。

5、一个类可以同时继承并实现多个接口,但只能继承一个抽象类

参考文章:
https://blog.csdn.net/yeqiuboke/article/details/80866509
https://www.cnblogs.com/weibanggang/p/11184674.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值