普通类和抽象类、接口和抽象类的区别

喜欢ヅ旅行 2023-09-25 23:16 233阅读 0赞

文章目录

    • 问题一:普通类和抽象类有哪些区别?
    • 问题二:接口和抽象类有什么区别?

问题一:普通类和抽象类有哪些区别?

抽象类不能被实例化
抽象类可以有抽象方法只需申明,无须实现
有抽象方法的类一定是抽象类;
抽象类的子类必须实现抽象类中的所有抽象方法,否则子类仍然是抽象类;
抽象方法不能声明为静态、不能被static、final修饰。

问题二:接口和抽象类有什么区别?

(1)接口

接口使用interface修饰;
接口不能实例化
类可以实现多个接口;

①java8之前,接口中的方法都是抽象方法,省略了public abstract。②java8之后;接口中可以定义静态方法,静态方法必须有方法体,普通方法没有方法体,需要被实现;

(2)抽象类

抽象类使用abstract修饰;
抽象类不能被实例化
抽象类只能单继承
抽象类中可以包含抽象方法和非抽象方法,非抽象方法需要有方法体
如果一个类继承了抽象类,①如果实现了所有的抽象方法,子类可以不是抽象类;②如果没有实现所有的抽象方法子类仍然是抽象类

发表评论

表情:
评论列表 (有 0 条评论,233人围观)

还没有评论,来说两句吧...

相关阅读

    相关 抽象接口

    一、抽象类和接口的定义: 抽象类(abstract class): 使用abstract修饰符修饰的类。 实际点来说,一个抽象类不能实例化,因为“没有包含足够多的信息来描

    相关 抽象普通区别

    包含抽象方法的类称为抽象类,用abstract关键字修饰,但不意味着抽象类只能有抽象方法,抽象类和普通类一样都可以有普通方法和成员变量。主要区别如下: (1)抽象方法必须为p

    相关 抽象接口区别

    一、抽象类 1、概念:就将一些事物的共性进行抽象 如:麻雀、燕子都可以归为鸟;奔驰、宝马都可以归为车 2、那抽象类与普通类有什么区别呢? 别傻傻的纠结半天,

    相关 接口抽象区别

        接口是对动作的抽象,这个对象能做什么。抽象类是对根源的抽象,这个对象是什么(一个类只能继承一个类(正如人不可能同时是生物和非生物),但可以实现多个接口(吃饭接口、走路接

    相关 java抽象普通区别

    1.抽象类不能被实例化。 2.抽象类可以有构造函数,被继承时子类必须继承父类一个构造方法,抽象方法不能被声明为静态。 3.抽象方法只需申明,而无需实现,抽象类中可