【Java 抽象类抽象方法】什么是抽象类方法,如何定义,起什么作用?

news/2024/11/30 13:36:18/

在这里插入图片描述

博主:_LJaXi Or 東方幻想郷
专栏: Java | 从入门到入坟

Java 抽象类 & 抽象方法

  • 抽象类的概念 👅
  • 抽象方法的概念 🐬
  • 抽象类和抽象方法结合使用 🦄

Java中的抽象类和抽象方法是面向对象编程中的重要概念,它们用于定义一些具有共性的类和方法,但是又不能被直接实例化或调用

抽象类的概念 👅

抽象类是一种特殊的类,它不能被实例化,只能被继承。抽象类通常用于定义一些具有共性的类,但是又不能被直接实例化的情况。

抽象类的定义方式

public abstract class Animal {// ...........
}

抽象类的关键字是abstract,它告诉编译器这是一个抽象类。抽象类可以包含普通的成员变量和成员方法,也可以包含抽象方法。但是,抽象类中至少要包含一个抽象方法,否则就没有必要定义为抽象类.

抽象方法的概念 🐬

抽象方法是一种没有实现的方法,它只有方法签名,没有方法体。抽象方法通常用于定义一些具有共性的方法,但是具体实现方式可能因为子类的不同而不同

抽象方法的定义方式

public abstract void eat(); // 只有方法签名

抽象方法的关键字是abstract,它告诉编译器这是一个抽象方法。抽象方法没有方法体,因为它的具体实现方式是由子类来实现的。子类必须实现父类中的所有抽象方法,否则子类也必须定义为抽象类。

抽象类和抽象方法结合使用 🦄

你是内内个内内内个内个内内,阳光彩虹小白马 🦄 滴滴答滴滴答

抽象类和抽象方法通常用于定义一些具有共性的类和方法,但是具体实现方式可能因为子类的不同而不同。使用抽象类和抽象方法可以使代码更加灵活和可扩展

public abstract class Animal {private String name;public Animal(String name) {this.name = name;}public String getName() {return name;}public abstract void eat();
}public class Dog extends Animal {public Dog(String name) {super(name);}@Overridepublic void eat() {System.out.println(getName() + " is eating meat");}
}public class Cat extends Animal {public Cat(String name) {super(name);}@Overridepublic void eat() {System.out.println(getName() + " is eating fish");}
}public class Main {public static void main(String[] args) {Animal dog = new Dog("Tom");Animal cat = new Cat("Jerry");dog.eat(); // Tom is eating meatcat.eat(); // Jerry is eating fish}
}

在这个例子中,Animal是一个抽象类,它定义了一个抽象方法eat()DogCatAnimal的子类,它们必须实现eat()方法。在Main类中,我们创建了一个Dog对象和一个Cat对象,并调用它们的eat()方法。由于DogCat都实现了eat()方法,所以它们的行为是不同的.


http://www.ppmy.cn/news/140961.html

相关文章

Dell MD3220I存储配置总结

Dell MD3220i默认配置IP地址 2.官方下载http://www.dell.com/support/home/cn/zh/cnbsd1/product-support/product/powervault-md3220i/drivers 适合自己的系统的资源盘,本人下载的是redhat 6版本的。 3.挂载iso文件到dell目录下,进入目录安装上iscsi-i…

Luogu3220 HNOI2012 与非 数位DP

传送门 题意:给出$N$个范围在$[0,2^k-1]$的整数,定义位运算$NAND$为位运算$AND$的逆运算,求$[L,R]$中有多少数能成为若干个前面给出的整数、若干括号和$NAND$运算组成的表达式的结果(每一个数在一个表达式中可以出现多次&#xff…

关于SP3220EEY-L/TR

SP3220EEY-L/TR 制造商:Exar 无铅情况/RoHs:无铅/符合RoHs 描述 : SP3220E Series 120 kbps 5.5 V RS-232 1 Driver / 1 Receiver Pair - TSSOP-16 技术参考: 电压-电源 3 V ~ 5.5 V 封装/外壳 16-TSSOP FET类型 收发器 协议 RS23…

交换机下接路由器lan还是wan_TPlinkER3220G路由器Lan连接H3CER5100路由器WAN口灯不亮的问题...

很长时间都没有更新原创文章了,今天又心血来潮了整理了一篇关于自己工作中遇到的问题分享给大家。如果你遇到了这个问题,而且看得了这篇文章,那么你是幸运的,当我遇到这个问题的时候,我搜索了一晚上也没有找到一篇能解决问题的文章。 按理来说TP-Link ER3220G千兆路由器出…

详解NetAppFAS3220数据恢复操作方法

一、NetApp FAS3220概述: NetApp FAS3220是NetApp推出的中端存储阵列,针对NAS和SAN环境构建,被定制为虚拟化、私有云或传统、早先的用途,适用于从几TB到超过2PB的存储需求,提供数据保护,可扩展性&#xff…

【解决方法】NetAPP FAS3220存储硬盘更换操作步骤

原创作者:运维工程师 林琪 1、问题描述 NetAPP存储更换新硬盘后,硬盘一般会自动识别加入原有系统中,但是有时候新插入的硬盘可能无法自动分配,状态显示为“Not Owned”,则需要通过ssh登录对应设备进行手动分配。 …

用CAPL通过RS232远程控制ALR3220程控电源

用CAPL通过RS232远程控制ALR3220程控电源 1. ALR3220程控电源2. ALR3220 远程控制命令3. 用CAPL控制ALR32203.1 首先需要用Panel Designer设计一个控制面板![在这里插入图片描述](https://img-blog.csdnimg.cn/20200711160738847.JPG?x-oss-processimage/watermark,type_ZmFuZ…

netapp fas3220更换硬盘

Netapp存储无法正常工作导致小机数据库无法连接 1.使用sysconfig -r查看系统状态硬盘状态 SBJYJ-02> sysconfig –r Aggregate aggr0 (online, raid_dp, degraded, hybrid_enabled) (block checksums)Plex /aggr0/plex0 (online, normal, active)RAID group /aggr0/plex0…