abstract抽象类和interface接口的区别

本文详细对比了抽象类和接口在Java中的应用,包括关键字、方法、构造器、与普通类的区别、访问修饰符、继承、变量等方面。并介绍了Java 8中接口的新特性,如静态方法和默认方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

抽象类(abstract class)

接口(Interface)

关键字

abstract

Interface

方法

可以有普通方法

全部抽象方法(jdk8可以存着default方法、静态方法)

构造器

有构造方法

无构造方法

与正常java类比较

除了你不能实例化抽象类之外,它和普通Java类没有任何区别

接口是完全不同的类型

访问修饰符

抽象方法可以有public、protected、default

接口方法默认都是public

继承

单继承多实现

接口多继承

变量

普通变量

常量

/**
 * JAVA8特性
 */
public interface T {
    public static void main(String[] args) {
        System.out.println("interface");
    }

    default String f(){
        return "";
    }
     static void f1(){
         System.out.println("F1");
    }
}

abstract class T1{
    public static void main(String[] args) {
        T.f1();
        System.out.println("abstract");
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值