java中抽象类和接口的特点区别

抽象类:

    必须用public或protected修饰抽象方法(不加为default),否则继承类无法实现

    可以有构造方法

    方法可以有实体

    成员变量可以是各种类型的

    可以有静态方法和静态代码块

    不能创建对象

    总的来说,抽象类就是比普通类多了一些抽象的东西,其他跟普通类一样。

接口:

    方法默认只能是public abstract修饰

    没有构造方法

    成员变量默认只能是public static final修饰

    不能有静态方法和静态代码块

    不能创建对象


java中 抽象类单继承,接口多实现。


为什么抽象类中的抽象方法可以用protected修饰,接口不可以?
    可能因为抽象类是通过继承实现的,而protected的最大作用范围是父子类,刚好符合这一要求,而接口中的方法只是类通过实现的方式来实现。也可以算是extends和implement的作用结果吧。

    


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值