您的位置:首页 > 编程语言 > Java开发

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

2018-03-18 16:18 459 查看
抽象类:
    必须用public或protected修饰抽象方法(不加为default),否则继承类无法实现
    可以有构造方法

    方法可以有实体
    成员变量可以是各种类型的

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

    不能创建对象

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

接口:
    方法默认只能是public abstract修饰

    没有构造方法

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

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

    不能创建对象

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

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

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: