JAVA面向对象(十 四)------ 接口(接口与抽象类的区别)

一、接口定义

接口可以理解为更彻底的抽象类,接口中的组成以抽象方法和全局常量为主(JDK1.8后也可以包含普通方法和静态方法)。定义如下:

interface ITest {
    public static final String MSG = "1111";
    public abstract String getMsg();
}
public class Demo {
    public static void main(String[] args) {
        
    }
}

(接口名前加上“I”,方便识别这是一个接口)

二、接口使用

  1. 接口需要被子类实现(implements),且一个子类可以实现多个接口;
  2. 子类(如果不是抽象类)要覆写接口中全部抽象方法;
  3. 接口对象需要子类对象向上转型进行实例化。

另外,接口主要用于描述一个公共的标准,所以接口的抽象方法都要用public修饰,且即使不写public,在接口中的抽象方法也默认是public的。子类覆写时,因为要求不低于父类的权限,也只能是public修饰。

三、接口与抽象类的区别

    抽象类 接口
1 定义关键字 abstract interface
2 组成 构造、普通方法、静态方法、全局常量、普通成员、static方法 抽象方法、全局常量、普通方法、static方法
3 权限 所有权限定义 只能是public
4 子类使用 extends继承一个 implements实现多个
5 两者关系 可以实现若干接口 不允许继承抽象类,可继承多个接口
6 使用

1.都要定义子类

2.子类都要覆写全部抽象接口

3.实例化都是通过子类向上转型实现

发布了92 篇原创文章 · 获赞 3 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_41231928/article/details/102614403
今日推荐