Java抽象类和接口有什么不同呢?

Java-教程王 Java教程 发布时间:2021-04-15 16:34:24 阅读数:5531 1

Java抽象类和接口不同之处

   我们都知道抽象类和接口都用于实现抽象,可以声明抽象方法。
   抽象类和接口都不能被实例化。
  但是它们有什么不同之处呢?下文将一一道来,如下所示:
抽象类 接口
抽象类可以有抽象和非抽象方法 接口只能有抽象方法。从Java 8开始,它也可以有默认和静态方法
抽象类不支持多重继承 接口支持多继承
抽象类可以有final,非final,静态和非静态变量 接口只有静态和final变量
抽象类可以提供接口的实现 接口不能提供抽象类的实现
abstract关键字用来声明抽象类 interface关键字用于声明接口

总结以上所述:抽象类实现了部分抽象(0到100%),而接口实现了完全抽象(100%)

使用抽象类和接口

在大多数时候,使用接口和抽象类是设计系统的最佳方法, 

Java抽象类和接口的示例

//创建具有4种方法的接口
interface A {
    void a();// 默认使用修辞符是:public 和 abstract

    void b();

    void c();

    void d();
}

// 创建实现接口A的方法的抽象类
// 
abstract class B implements A {
    public void c() {
        System.out.println("I am C");
    }
}

// 创建抽象类的子类,需要提供抽象类方法的实现
class M extends B {
    public void a() {
        System.out.println("I am a");
    }

    public void b() {
        System.out.println("I am b");
    }

    public void d() {
        System.out.println("I am d");
    }
}

// 创建一个调用A接口方法的测试类
class Test5 {
    public static void main(String args[]) {
        A a = new M();
        a.a();
        a.b();
        a.c();
        a.d();
    }
}
-----运行以上代码,将输出以下信息
I am a
I am b
I am c
I am d
 
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaCourse/252.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者