抽象类和普通类的区别是什么?java类和抽象类的区别

KLQ 2020-05-27 11:33:51 java常见问答 3249

你知道java当中的普通类抽象类之间有什么区别吗?这两者的不同之处究竟是什么呢?下面就和小编一起来详细的了解一下吧。

一、抽象类和普通类区别

抽象类和普通类的区别我们做了以下7点简单的总结,相信看了的朋友应该都会很清楚的了解了,一起来看看。

下面是具体的区别之处。

1、和普通类比较起来,抽象类它不可以被实例化,这个区别还是非常明显的。

2、除了以上的一点之外,抽象类它能够有构造函数,被继承的时候,子类就一定要继承父类的一个构造方法,但是,抽象方法不可以被声明成静态。

3、在抽象类当中,可以允许普通方法有主体,抽象方法只需要申明,不需要实现。

4、含有抽象方法的类,必须要申明为抽象类。

5、抽象的子类必须要实现抽象类当中的所有抽象方法,否则的话,这个子类也是抽象类。

6、抽象类它一定要有abstract关键词修饰

7、抽象类的访问权限

#jdk1.8之前,访问权限限制于public和protected,假如不写由或者是是private,那么就不能够被子类继承

#jdk1.8-11将访问的权限变成了public 、protected以及default

二、延伸阅读

除了介绍区别之外,我们还可以来了解一下以下的内容。(几个常见问题)

1、抽象类能够有构造函数吗?

答案:抽象类是可以有构造函数的

抽象类的构造函数用来初始化抽象类的一些字段,而这一切都在抽象类的派生类实例化之前发生。

那么你知道吗?其实,除了以上之外,抽象类的构造函数还会有一种非常巧妙的应用。

这种巧妙的应用就是,在其内部实现子类必须执行的代码。

好啦,关于java抽象类和普通类的区别你都了解了吗?以上的内容还是比较的全面的呢,希望能够对大家起到一些帮助。

对于初学java的人来说,有很多的java基础知识,还是需要自己不断的去了解学习的,更多java基础知识常见问题,大家可以继续通过关注奇Q工具网来了解哦,有很多java方面的内容,可以带给大家。

推荐阅读:

抽象类和接口的区别是什么?有什么区别?

类的加载流程是怎么进行的?