抽象类必须要有抽象方法吗?面试篇(第十一天)

简介: 抽象类就相当于半成品的食物,经过简单的加工就成为一份可以食用的食物,而每个普通类就是可以食用的食物,所以抽象类不能实例化,因为实例化就相当于实例化出来的东西就是可以直接用的,而半成品不可以用,所以抽象类不可以实例化。

初级回答



不需要,抽象类不一定非要有抽象方法。


含义详解



很多人只听说过抽象类,但是在实际开发中很少用到抽象类,因为一些简单的程序中用不到抽象类,所以慢慢的对抽象类就有一点模糊,现在我们来说一说什么是抽象类,抽象类的存在有什么意义?




我们都知道java是面向对象的,一个对象就是一个类,这些类里包含对象的所有属性,所有这是一个普通的类,完整的类。而抽象类是只包含对象的一部分属性的类,比如我们想要定义一个人的类,一个大猩猩类,这个时候人的类中肯定有很多属性和大猩猩重复了,这个时候我们把他们中共有的属性拿出来,整理一个抽象类,可以认为是一个动物抽象类,因为人和大猩猩都是动物,所以这个抽象类只是人类,和大猩猩类的一部分。


抽象方法



现在我们来说抽象方法,同样人和大猩猩都有呼吸,走路等方法,所以这些方法我们都可以抽象出来成为抽象方法,但是抽象类中不一定有抽象方法,但是有抽象方法的一定要声明为抽象类,否则编译不通过。


总结



抽象类就相当于半成品的食物,经过简单的加工就成为一份可以食用的食物,而每个普通类就是可以食用的食物,所以抽象类不能实例化,因为实例化就相当于实例化出来的东西就是可以直接用的,而半成品不可以用,所以抽象类不可以实例化。假如我们要写一个车的项目,我们就可以把车的基础属性封装为一个抽象类,然后将不同的车,例如轿车、拖拉机、火车等都继承车的抽象类,这样就避免了很多重复的代码。


相关文章
|
5天前
|
前端开发
【面试题】吃透Promise?先实现一个再说(包含所有方法)(二)
【面试题】吃透Promise?先实现一个再说(包含所有方法)(二)
|
5天前
|
存储 运维 前端开发
【面试题】吃透Promise?先实现一个再说(包含所有方法)(一)
【面试题】吃透Promise?先实现一个再说(包含所有方法)(一)
|
6月前
|
Java Linux 程序员
Linux平台中调试C/C++内存泄漏方法 (腾讯和MTK面试的时候问到的)
Linux平台中调试C/C++内存泄漏方法 (腾讯和MTK面试的时候问到的)
|
7月前
|
Java
每日一道面试题之String常用的方法有哪些?
每日一道面试题之String常用的方法有哪些?
|
7月前
|
存储 Java
【面试题精讲】为什么重写equals时必须重写hashCode方法?
【面试题精讲】为什么重写equals时必须重写hashCode方法?
|
3天前
|
Java
Java中int[]与Integer[]相互转化的方法,java基础知识面试重点总结
Java中int[]与Integer[]相互转化的方法,java基础知识面试重点总结
|
5天前
|
Java 编译器
探究Java【方法的定义及使用】----【简单面试题】
探究Java【方法的定义及使用】----【简单面试题】
34 2
|
7月前
每日一道面试题之Files的常用方法都有哪些?
每日一道面试题之Files的常用方法都有哪些?
|
8月前
|
安全
多线程访问同步方法的7种情况(面试常考)
多线程访问同步方法的7种情况(面试常考)
40 0
多线程访问同步方法的7种情况(面试常考)
|
6月前
|
缓存 NoSQL Java
面试~线程池-三大方法、七个参数、四种拒绝策略、实际应用
面试~线程池-三大方法、七个参数、四种拒绝策略、实际应用
50 0