在Java中,普通类和抽象类主要有以下区别:
(图片来源网络,侵删)
1、定义方式
普通类:使用关键字class定义。
抽象类:使用关键字abstract class定义。
2、构造方法
普通类:可以有构造方法,也可以没有。
抽象类:不能有构造方法,因为抽象类不能被实例化。
3、成员变量和方法
普通类:可以有成员变量和方法,也可以没有。
抽象类:可以有成员变量和方法,但不能有具体的实现,只能声明。
4、抽象方法
普通类:不能有抽象方法,否则需要用abstract关键字修饰类。
抽象类:可以有抽象方法,抽象方法只有声明,没有具体实现。
5、实例化
普通类:可以被实例化。
抽象类:不能被实例化,但可以被继承。
6、继承关系
普通类:可以继承普通类或抽象类。
抽象类:只能继承普通类。
7、用途
普通类:用于描述具体的事物或概念。
抽象类:用于描述抽象的事物或概念,通常作为基类供其他类继承。
特点 | 普通类 | 抽象类 |
定义方式 | class | abstract class |
构造方法 | 可有可无 | 不能有 |
成员变量和方法 | 可有可无,可实现 | 可有可无,但不能实现 |
抽象方法 | 不能有 | 可有,只有声明 |
实例化 | 可实例化 | 不可实例化 |
继承关系 | 可继承普通类或抽象类 | 只能继承普通类 |
用途 | 描述具体事物或概念 | 描述抽象事物或概念,作为基类 |
还没有评论,来说两句吧...