abstract关键字(抽象类)【Java】

2023-11-04

目录

一、abstract关键字

        1.1 abstract修饰类(抽象类)

        1.2 abstract 修饰方法(抽象方法)

        1.3 abstract使用的注意点

二、abstract 关键字的举例说明

一、abstract关键字

解释为抽象的,可以修饰:类、方法

        1.1 abstract修饰类(抽象类)

①此类不能实例化

②抽象类中一定要有构造器,这样会便于子类实例化时的调用。

        1.2 abstract 修饰方法(抽象方法)

①抽象方法:只有方法的声明,没有方法体

②包含抽象方法的类,一定是一个抽象类,但在一个抽象类中,可以没有抽象方法

③若子类重写了父类中所有的抽象方法后,此子类就无需使用abstract修饰,反之要使用abstract修饰

        1.3 abstract使用的注意点

①abstract不能修饰变量、代码块、构造器

②abstract不能修饰私有方法、静态方法、final的方法、final的类

二、abstract 关键字的举例说明 

package cn.spilt_charging.contact;

public class abstractTest {
	public static void main(String[] args) {
		
		human h1 = new human() {   //创建了一个匿名子类的对象(当子类重写了抽象父类中所有的抽象方法后,此子类方可实例化)

			@Override
			public void eat() {
				
			}

			@Override
			public void breath() {
				
			}
		};
		
		method(new Student("TOm", 10));  //匿名对象
		
		method1(new human() {  //创建匿名子类的匿名对象
			
			@Override
			public void breath() {
				
			}
			
			@Override
			public void eat() {
				
			}
		});
		
		Student stu1 = new Student();
		method1(stu1);  //非匿名的类非匿名的对象
		
		method(new Student());  //非匿名的类匿名的对象
	}
	
	public static void method(Student s) {
			
	}
	
	public static void method1(human human2) {
		human2.eat();
		human2.breath();
	}
}

abstract class Creature{
	
	public abstract void breath();
	
}

abstract class human extends Creature{
	String name;
	int age;
	public human() {

	}
	
	public human(String name,int age) {
		this.name = name;
		this.age = age;
	}
	
	//抽象方法
	public abstract void eat();
	
}

class Student extends human{   //当子类重写了父类(父类使用abstract修饰时)中所有的抽象方法后,该子类就无需使用abstract修饰
	public Student(String name,int age) {
		super(name,age);
	}
	
	public Student(){
		
	}
	
	public void breath() {
		System.out.println("呼吸");
	}
	
	public void eat() {
		System.out.println("吃饭");
	}
}

输出结果: 

 最后到这里,文章就结束了,如果在内容上有问题,恳请各位大佬指出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

abstract关键字(抽象类)【Java】 的相关文章

随机推荐

  • kvm虚拟管理之kvm热迁移

    上一篇写不下了 补在这一篇 kvm虚拟管理之kvm热迁移 热迁移的原理如下 想将一台正在运行的虚拟机迁移过去必须借助共享存储 将磁盘挂载到共享存储上 谁想用就挂载 三台机器的环境配置如下 在nfs主机上的文件配置如下命令 root nfs0
  • 五年测试工程师一上来就要18K薪资,结果一问三不知

    现在招个合适的人可真难呀 不是这不会就是那不会 没有一个让我满意的 公司前段时间缺人 面试了不少的测试 结果居然没有一个符合要求的 一开始瞄准的就是中级测试工程师的水准 也没指望来技术大牛 提供的薪资在10 20k 面试的人很多 但平均水平
  • QT项目开发-多界面平台构建-1

    好久不发博文了 发一下关于QT项目开发 对于平台搭建一块 新手也可以看看 1 安装好QT 网上有很多教程可以参考 我用的5 9 如果有需要可以留言 2 首先建立一个QT Widget Application项目 3 一开始建立的项目有 pr
  • 条件查询LambdaQueryWrapper

    MyBatis Plus QueryWrapper及LambdaQueryWrapper的使用 假如我们有一张user表 现需要通过user name查出所有数据 ApiModel description 用户实体 public class
  • Dynamics CRM 2016 Word Template Feature

    Word Template 是Dynamics CRM 2016的新功能 功能比较强大 完全可以替代简单的自定义报表 更重要的是 这个功能使用简单 终端用户完全有能力自己实现自己想要的报表 不需要任何的开发经验 今天博主给大家简单介绍下怎么
  • ViT-YOLO论文解读

    论文 ViT YOLO Transformer Based YOLO for Object Detection https openaccess thecvf com content ICCV2021W VisDrone papers Zh
  • ubuntu登录桌面后只显示壁纸,排查方案

    起因 有一台压力测试机器 登录后只显示壁纸 这就奇怪了 难道是桌面出了问题 我当时先把桌面服务都重新安装了一遍 还是一样 我就想起之前写的一篇文章ubuntu任务栏菜单不见了 我抱着试了一下的心态 然后重启了lightdm 然后显示了桌面
  • Linux(Ubuntu或CentOS) Docker 安装 Python2.7及PIP的Dockerfile文件

    Docker镜像中若要安装Python2 7和PIP 需要使用Dockerfile文件来进行安装 Dockerfile 是一个用来构建镜像的文本文件 本文主要介绍Docker 在Linux Ubuntu或CentOS 上安装 Python2
  • Sqlserver——用IP连接多个实例问题

    一 配置configure 二 重启实例服务 services msc 三 利用SSMS连接实例 地址 实例名 端口号 例 107 212 10 172 53214 四 连接语句
  • 时序预测

    时序预测 MATLAB实现CNN LSTM卷积长短期记忆神经网络时间序列预测 风电功率预测 目录 时序预测 MATLAB实现CNN LSTM卷积长短期记忆神经网络时间序列预测 风电功率预测 预测效果 基本介绍 程序设计 参考资料 预测效果
  • Timing Modeling--时序模型

    The cell timing models are intended to provide accurate timing for various instances of the cell in the design environme
  • c++实现进制转换

    目录 进制的相关概念 十进制转非十进制 非十进制转十进制 二进制转八进制 八进制转二进制 二进制转十六进制 十六进制转二进制 八进制转十六进制 十六进制转八进制 进制的相关概念 1 数码 在数制中表示数制大小的符号 比如十进制的数码 0 1
  • 卡尔曼滤波学习笔记

    这篇文章参考博客 介绍 卡尔曼滤波的一个典型事例是从一组有限的 包含噪声的对物体位置的观察序列 可能有偏差 预测出物体的位置的坐标及速度 卡尔曼最初提出的滤波器形式现在一般称为简单卡尔曼滤波器 除此之外还有施密特扩展滤波器 信息滤波器以及很
  • chatgpt赋能python:用Python写C语言:提高效率和可读性

    用Python写C语言 提高效率和可读性 Python和C语言是两种不同的编程语言 但是它们各有优劣 Python具有易读易写的特点和适合快速开发的能力 而C语言则更适合执行速度快的任务 那么 有什么方法可以让我们在保持C语言的速度的同时
  • 我总结了程序员转行得最有出路5个方向

    先简单粗暴的回答您的问题 程序员转行做什么比较好 这个没有确切的答案 因人而异 下面我会结合身边几个大龄程序员的实际情况来说一说这个问题 会不会造成薪资的大幅下降 一开始肯定会的 毕竟隔行如隔山 我们刚开始从事软件开发工作不也就三四千块钱一
  • tomcat启动错误:Error running tomcat: Address localhost:1099 is already in use

    tomcat启动错误 Error running tomcat Address localhost 1099 is already in use 这是tomcat上一次启动后没有正常关闭或者遭遇异常导致的服务器某些线程没有完全关闭 这里就是
  • 2022跨年烟花代码(五)HTML5全屏烟花特效

    HTML5全屏烟花特效 html代码
  • 远程调试、无cuDnn、自定义模块无法导入问题记录

    说明 记录自己的错误 慢慢来 比较快 1 Pycharm远程调试出现错误 root miniconda3 bin python can t open file root autodl tmp mian py Errno 2 No such
  • java 中 热部署与卸载关系

    今天发现早年在大象笔记中写的一篇笔记 之前放在ijavaboy上的 现在它已经访问不了了 前几天又有同事在讨论这个问题 这里拿来分享一下 在web应用开发或者游戏服务器开发的过程中 我们时时刻刻都在使用热部署 热部署的目的很简单 就是为了节
  • abstract关键字(抽象类)【Java】

    目录 一 abstract关键字 1 1 abstract修饰类 抽象类 1 2 abstract 修饰方法 抽象方法 1 3 abstract使用的注意点 二 abstract 关键字的举例说明 一 abstract关键字 解释为抽象的