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
  • asp之家 软件编程 m.aspxhome.com