4.16Java抽象方法和抽象类
抽象方法
抽象方法的概念
使用abstract修饰的方
特点:
-
没有方法体,只有声明。
-
定义的是一种"规范"
作用:
告诉子类必须要给抽象方法提供具体的实现
抽象类
抽象类的概念
包含抽象方法的类就是抽象类
特点:
-
通过abstract方法定义规范
-
要求子类必须定义具体的实现
作用:
严格设计子类的设计,使子类之间更加通用
之前创建方法的办法:
//创建方法有方法体
package com.cxl;
/**
* Java抽象类练习
* @author Lucifer
*/
public class Animal {
public void shout(){
System.out.println("eee");
}
}
抽象类的意思就是创建方法没有具体的方法体:---包含抽象方法的类必须是抽象类(类也要是抽象的)
实例:
package com.cxl;
/**
* Java抽象类练习
* @author Lucifer
*/
abstract class Animal {
/*上面的写法就是定义了抽象类*/
/*声明抽象方法*/
abstract public void shout();
/*
抽象方法的特点:
父类没有实现这个方法
子类在继承的时候必须实现这个方法
提供了类似的设计规范
*/
/*在抽象类中也定义了普通的方法*/
public void run (){
System.out.println("Running");
}
}
class Dog extends Animal{
/*
因为没有实现父类的抽象类的方法,所以报错
重写shout方法至于方法里面有什么可以自行定义
*/
抽象类的使用要点:
-
有抽象方法的类职能定义成抽象类
-
抽象类不能实例化---就是不能用new来实例化抽象类,但是可以实例化继承抽象类的子类对象
-
抽象类可以包含属性、方法、构造方法,但是构造方法不能用new实例,只能用来被子类调用
-
抽象类只能用来被继承
-
It's a lonely road!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构