Java抽象类的概念讲解
作者:mumu1998 时间:2023-11-04 13:40:35
简单来说
抽象类通常用来作为一个类族的最顶端的父类,用最底层的类表示现实中的具体事物,用最顶层的类表示该类族所有事物的共性。用abstract关键字类修饰一个类,该类叫做抽象类。
有抽象类那么肯定也有抽象方法,什么是抽象方法呢?
抽象方法就是有名字,形参列表,返回值,没有方法体的方法就做抽象方法。
抽象方法和抽象类的关系?
凡是没有方法体的方法必须使用关键字abstract修饰为抽象方法。
凡是含有抽象方法的类必须声明为抽象类。
abstract class A{
abstract public void f();//有抽象方法的一定是抽象类
}
abstract class B{
public void f(){
//抽象类不一定有抽象方法
}
}
我们从举例中可以看出A类方法中没有方法体,因此使用了关键字abstract并且A类也必须声明为抽象类。
抽象类中的多态:
abstract class a{
abstract public void f();
}
class B extends A{
public void f(){
System.out.println("BBB");
}
}
public class text{
public static void main(String[] args){
A aa=new A();//错误,抽象类不能实例化
B bb=new B();//ok
bb.f()//OK
A aa;//抽象类可以定义一个抽象类的引用,但是不可以定义一个抽象类对象。
aa=bb;//利用抽象类的引用指向真正实现的子类,再利用多态调用其子类方法。
aa.f();
}
}
来源:https://blog.csdn.net/mumu1998/article/details/81206664
标签:java,抽象类
0
投稿
猜你喜欢
Java使用ArrayList实现扑克牌的示例代码
2021-10-29 15:17:17
java.util.Collection源码分析与深度理解
2022-07-31 09:05:52
安卓输入框被虚拟键盘挡住的问题(微信开发)
2023-12-01 15:42:43
java map转Multipart/form-data类型body实例
2023-04-19 13:16:18
datatables 带查询条件java服务端分页处理实例
2023-12-24 08:48:16
Android实现客户端语音动弹界面实例代码
2023-03-04 08:27:04
SpringBoot 过滤器 Filter使用实例详解
2021-11-08 13:46:00
Java实现二叉堆、大顶堆和小顶堆
2022-08-20 18:39:33
Java内存模型中的虚拟机栈原理分析
2022-02-08 04:41:33
Java8新特性之精简的JRE详解_动力节点Java学院整理
2022-09-19 12:25:50
tk.Mybatis 插入数据获取Id问题
2023-07-01 22:03:13
springboot 同时启用http/https的配置方法
2023-06-22 12:04:12
Android使用Intent传递组件大数据
2023-09-30 12:21:46
Android自定义View实现仿网易音乐唱片播放效果
2022-02-27 07:18:40
C#使用Objects Comparer进行对象比较
2022-06-03 05:40:30
C#利用Random得随机数求均值、方差、正态分布的方法
2022-08-28 14:26:37
C#实现钟表程序设计
2023-01-01 06:38:42
VS2019配置OpenCV时找不到Microsoft.Cpp.x64.user的解决方法
2023-07-01 01:57:36
Android 中ListView的Item点击事件失效的快速解决方法
2021-09-29 02:00:41
Java中joda日期格式化工具的使用示例
2023-03-01 11:49:10