抽象类
抽象类
概念:
被abstract关键字修饰的类,就是抽象类
被修饰的方法为抽象方法,抽象方法没有方法体
在类上面也需要加上,为抽象类
抽象类的特点
抽象类和抽象方法一定要使用abstract关键字
抽象类中不一定有抽象方法
没有抽象方法的抽象类的存在的意义:
不让外界创建对象
抽象类不能实例化,但是我们可以利用多态的思想类赋值
pet抽象,Dog是pet的子类,dog是普通类
作为抽象类的子类应该怎么办
抽象类中可以包含哪些内容
等...
//普通的成员变量 String name; //final修饰的变量,长量 final String COUNTRY = "中国"; //静态常量 public abstract void say(); //普通方法 public void aa(){ } //静态方法 public static void play(){ } //构造方法,有参,无参 public Pet() { } public Pet(String name) { this.name = name; } { //代码块 } static { //静态代码块 }
抽象类本身不能够被实例化的,所以抽象类就是用一个类给予类服务的类
static和abstract不能共存的
static方便调用,abstract为了给子类重写的,没有方法体
final是互相冲突的,final修饰的方法不能被重写,而abstract修饰的方法就是为了让子类重写的
private:也是冲突的,private修饰的方法不能够被继承,也就不能重写了,而abstract方法就是为了让子类重写的
1.抽象类的所有的抽象方法都是用来给子类重写的
⒉抽象类的所有的非抽象方法也是用来给子类使用的
3.抽象类的构造方法是用来给子类初始化父类继承过来的成员
4.抽象类的成员变量也是用来给子类使用的
5.抽象类就是一个彻头彻尾的服务类
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix