一、概述:
在Java中,一个没有方法体的方法应定义为抽象方法在public 修饰符后加 abstract修饰符,而类中如果有抽象方法,该类必须定义为抽象类在public 修饰符后加 abstract修饰符
二、抽象类的特点:
1.抽象类和抽象方法必须使用abstract 关键字修饰
/*抽象类
* */
public abstract class Animal {
//定义无参构造方法
public Animal(){};
public abstract void eat();
}
2.抽象类中不一定有抽象方法,但有抽象方法的类一定是抽象类
3.抽象类不能直接实例化,但可以参照多态的方式,通过子类对象实例化,这叫抽象类多态
就是抽象类创建对象需要通过子类创建
// Animal a=new Animal();//不能直接创建对象
// 通过子类进行创建对象
Animal a=new Cat();
a.eat();
4.抽象类的子类要么重写抽象类中的所有抽象方法,要么该子类也是一个抽象类
三、抽象类的成员特点:
1.成员变量可以是变量也可以是常量
2.构造方法可以有,但是不能直接实例化,用于子类访问父类数据的初始化
3.成员方法可以有抽象方法,限定子类必须重写父类的所有抽象方法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器