面向对象(抽象类)
什么是抽象类?
可以简单理解为光说不做,例如:好好学习,将来发大财,就比较抽象!
只有方法声明,没有方法主体,那么这就是一个抽象类
抽象类的关键字:abstract
当定义了抽象函数的类也必须被abstract关键字修饰,被abstract关键字修饰的类是抽象类。
抽象方法定义的格式:
public abstract 返回值类型 方法名(参数);
抽象类定义的格式:
public abstract class 类名 {
实体类里只有方法声明,子类里面有方法声明 例如:
1 2 3 4 | //研发部员工 public abstract class Developer { public abstract void work(); //抽象函数。需要abstract修饰,并分号;结束 方法的声明 } |
继承之后开始写方法主体
1 2 3 4 | //JavaEE工程师 public class JavaEE extends Developer{ public void work() { System. out .println( "正在研发淘宝网站" );<br> }<br>} |
1 2 3 4 5 6 | //Android工程师 public class Android extends Developer { public void work() { System. out .println( "正在研发淘宝手机客户端软件" ); } } |
抽象类的特点:
首先抽象类不可以直接创建对象,因为调用抽象的方法没有任何的意义
只有重写了抽象类里所有的方法之后,子类才可以创建对象,否则子类它仍然是一个抽象方法
抽象类关键字abstract不可以和private共存!
private:私有的方法子类是无法继承到的,也不存在覆盖,而abstract和private一起使用修饰方法,abstract既要子类去实现这个方法,而private修饰子类根本无法得到父类这个方法。互相矛盾。
抽象类一定是个父类吗?
对,因为不断从父类里面抽取!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步