【Java】关键字-abstract【主线学习笔记】

news/2024/9/24 22:51:33/

文章目录

  • 前言
  • 关键字-abstract的使用
    • abstract修饰类:抽象类
    • abstract修饰方法:抽象方法
    • abstract不能修饰的结构


前言

Java是一门功能强大且广泛应用的编程语言,具有跨平台性和高效的执行速度,广受开发者喜爱。在接下来的学习过程中,我将记录学习过程中的基础语法、框架和实践技巧等,分享学习心得,对自己学习过程进行整理和总结,也希望能为其他学习Java的朋友提供一些帮助和参考。


关键字-abstract的使用

在 Java 中,abstract 关键字用于声明抽象类和抽象方法。这是面向对象编程中的一个重要特性,允许定义不能被实例化的类,并且可以定义那些需要在子类中实现的方法。

abstract修饰类:抽象类

抽象类是一个不能被实例化的类,通常包含一个或多个抽象方法(即没有实现的方法)。它可以包含普通的方法和字段。

  • 抽象类提供一个通用的模板,定义了一组方法和属性,子类继承并实现这些方法,完成具体的功能。
  • 抽象类中是包含构造器的,因为子类对象实例化的时候,需要直接或者间接地调用到父类的构造器
  • 抽象类中可以没有抽象方法。繁殖抽象类所在的类,一定是抽象类
java">/**
*Animal 是一个抽象类,包含一个普通方法 eat() 和一个抽象方法 makeSound()。
*/
abstract class Animal {// 普通方法void eat() {System.out.println("This animal eats food.");}// 抽象方法abstract void makeSound();
}

子类继承抽象类时,必须实现所有的抽象方法,除非子类本身也声明为抽象类。

java">class Dog extends Animal {@Overridevoid makeSound() {System.out.println("Woof Woof");}
}

abstract修饰方法:抽象方法

  • 抽象方法之后方法的声明,没有方法体。
java">abstract class Animal {abstract void makeSound(); // 抽象方法
}  

abstract不能修饰的结构

属性、构造器、代码块等



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

相关文章

rust一些通用编程的概念

rust一些通用编程的概念 官网文档数据类型 - Rust 程序设计语言 中文版 (rustwiki.org) 变量,数据类型,条件判断,循环 变量 rust中变量的可变性是值得注意的 例如: fn main(){let number 1;number 2;println!("the number is {}&quo…

【C/C++语言系列】浅拷贝和深拷贝

浅拷贝和深拷贝在面试中经常被问,十分重要。 浅拷贝问题:如果有数据创建在堆区,那么在析构时会出现重复析构的问题。 解决方法:使用深拷贝去解决堆区数据重复释放的问题 观察下面代码,发现浅拷贝问题: cla…

python 实现collatz sequence考拉兹序列算法

collatz sequence考拉兹序列算法介绍 考拉兹序列(Collatz sequence),也被称为3n1序列或奇偶归一猜想(3x1 problem),是一个数学中的未解问题,由德国数学家Lothar Collatz在1937年提出。 考拉兹…

9.20-使用k8s部署wordpress项目

部署wordpress项目 部署mariadb # 启动docker进程systemctl start docker​# 拉取三个镜像​docker pull nginx:alpinedocker pull wordpress:latestdocker pull mariadb:latest​# 保存三个镜像​cddocker save -o wordpress.tar wordpress:latestdocker save -o mariadb.tar…

【数据结构初阶】链式二叉树接口实现超详解

文章目录 1. 节点定义2. 前中后序遍历2. 1 遍历规则2. 2 遍历实现2. 3 结点个数2. 3. 1 二叉树节点个数2. 3. 2 二叉树叶子节点个数2. 3. 3 二叉树第k层节点个数 2. 4 二叉树查找值为x的节点2. 5 二叉树层序遍历2. 6 判断二叉树是否是完全二叉树 3. 二叉树性质 1. 节点定义 用…

virtualbox中的网络模式,网络设置,固定IP

virtualbox关于网络设置的文档:https://www.virtualbox.org/manual/topics/networkingdetails.html#networkingdetails DHCP Dynamic Host Configuration Protocol:动态主机配置协议,是专门用来给网络中的节点分发IP地址,确保每…

【个人博客hexo版】hexo安装时会出现的一些问题

项目场景: 项目场景:在完成了GitHub仓库和git的连接之后,就要新建一个文件夹(例如hexo blog)进行下一步hexo的使用 问题描述 例如:如图所示 原因分析: 这些error不用看它到底是什么&#xf…

二.Oracle每周运维操作

目录 2.1、监控数据库对象的空间扩展情况 2.2、监控数据量的增长情况 2.3、系统健康检查 2.4、 检查无效的数据库对象 2.5、检查不起作用的约束 2.6、检查无效的trigger 2.7 数据库补丁更新 解释: 操作步骤: 2.1、监控数据库对象的空间扩展情况 …