Java中的抽象类

手把手教你学Simulink——基于Simulink的无感FOC(滑模观测器+PLL)实战 摘要: 本文详细介绍了基于Simulink的无感FOC(滑模观测器+PLL)实现方法。主要内容包括:1)SMO+PLL原理,通过滑模观测器估算反电动势,结合PLL抑制抖振;2)系统架构,替代编码器信号;3)Simulink建模流程,涵盖Clarke变换、SMO离散化实现、PLL设计等关键步骤;4)参数整定指南和工程实践要点,如启动策略和故障处理。该方法具有成本低、可靠性高的优势,适用于家电、电动车等场景,仿真结果显示角度误差±5°,速度动态跟随良好。文章还提供了调试建议和常见问题解决方案。 阅读详情

抽象类的定义

在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类

那么具体什么叫做抽象类呢?在了解抽象类之前我们需要先了解一下抽象方法,在所有的普通方法上面都会有一个“{}”,这个表示方法体,有方法体的方法一定可以被对象直接使用。而抽象方法,是指没有方法体的方法,同时抽象方法还必须使用关键字abstract做修饰

abstract class Abs {//定义的一个抽象类
    public void show(){
        System.out.println("这是普通方法!");//这是普通方法
    }
    public abstract void show1();//这是抽象方法
}

而拥有抽象方法的类就是抽象类,抽象类要使用abstract关键字声明
注意:抽象类也是类,内部可以包含普通方法和属性,甚至构造方法

抽象类的特点

在上面我们已经了解了什么是抽象类,下面我们就来了解一下抽象类的特点吧!

abstract class A {
    public void show(){
        System.out.println("这是普通方法!");
    }
    private abstract void show1();
}
class B extends A{
    @Override
    public void show1() {
        System.out.println("这是重写的抽象方法");
    }
}
class text{
    public static void main(String[] args) {
        A a=new B();
    }
}

在这里插入图片描述
此时我们看见当抽象方法用private修饰的时候代码会报错

1.抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public;

abstract class A {
    public void show(){
        System.out.println("这是普通方法!");
    }
   public abstract void show1();
}
class B extends A{
    @Override
    public void show1() {
        System.out.println("这是重写的抽象方法");
    }
}
class text{
    public static void main(String[] args) {
        A a=new A();
 

在这里插入图片描述

2.抽象类不能直接实例化,需要依靠子类采用向上转型的方式处理;
3.抽象类必须有子类,使用extends继承,一个子类只能继承一个抽象类;

    public void show(){
        System.out.println("这是普通方法!");
    }
   public abstract void show1();
}
 abstract class B extends A{
}
class C extends B{
    @Override
    public void show1() {
        System.out.println("这是重写后的抽象方法");
    }
}
class text{
    public static void main(String[] args) {
        A a=new C();
    }
}

此时B继承了A,但是A并没有重写A的方法而是由C继承B再重写A中的抽象方法

4.子类(如果不是抽象类)则必须覆写抽象类之中的全部抽象方法(如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类
5. 抽象类中不一定包含抽象方法,但是有抽象方法的类一定是抽象类

abstract class A {
    public A() {
        System.out.println("A的构造方法");
    }

    public abstract void show1();
}
 class B extends A{
     @Override
     public void show1() {
     }
     public B(){
         System.out.println("B的构造方法");
     }
 }
class text{
    public static void main(String[] args) {
        A a=new B();
    }
}

在这里插入图片描述
此时我们在A中和B中都有构造方法而执行的时候依旧按照先执行父类的再执行子类的构造方法

  1. 抽象类中可以有构造方法,供子类创建对象时,初始化父类的成员变量
    7.抽象方法不能被final和static修饰,因为抽象方法要被子类重写,被final修饰的方法和变量会被类隐藏只能被继承无法被重写修改

抽象类的作用和实现

有些同学可能会问,普通类就可以被继承,普通方法也可以被重写,为什么还要多此一举用抽象类和抽象方法呢?

实际工作不应该由父类完成, 而应由子类完成. 那么此时如果不小心误用成父类了, 使用普通类编译器是不会报错的.但是父类是抽象类就会在实例化的时候提示错误, 让我们尽早发现问题

 abstract class Act {
    public void eat(){};
    public void sleep(){};
    public void work(){};
}
class animal extends Act{
    @Override
    public void eat() {
        System.out.println("动物需要吃饭!");
    }
    @Override
    public void sleep() {
        System.out.println("动物需要睡觉!");
    }
}
class mankind extends Act{
    @Override
    public void eat() {
        System.out.println("人类需要吃饭!");
    }
    @Override
    public void sleep() {
        System.out.println("人类需要睡觉!");
    }
    @Override
    public void work() {
        System.out.println("人类需要工作!");
    }
}
public class text {
    public static void main(String[] args) {
        Act act=new animal();
        act.eat();
        act.sleep();
        Act act1=new mankind();
        act1.eat();
        act1.sleep();
        act1.work();
    }
}

在这里插入图片描述

这里简单使用抽象类并分别让其他两个类去继承抽象类中的方法,最后通过向上引用使用子类中的不同的抽象方法

像这样如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类本身不能被实例化,要想使用只能创建该抽象类的子类,然后子类重写抽象类中的抽象方法

Open3D 点云变换【2025最新版】 点云平移、旋转、缩放、欧式变换的python代码实现。博客长期更新,本文最近更新时间为:2025年1月16日。 阅读详情

相关推荐

百元DIY手机荧光计:低成本荧光检测平台搭建与实战

荧光检测是一种基于物质受特定波长光激发后发射更长波长荧光的分析技术,其核心原理在于光与物质的相互作用。通过选择性激发与检测,该技术能实现对痕量物质的高灵敏度、高特异性定量分析,在生物医学、环境监测和食品安全等领域具有重要价值。传统荧光分光光度计虽精度高,但成本昂贵、体积庞大且操作复杂,限制了其在现场快检和普及教育中的应用。本文聚焦于如何利用智能手机的高性能摄像头和处理器,结合低成本光学滤光片和LED光源,构建一个便携、经济的DIY荧光检测平台。该方案通过简化光路设计,采用带通滤光片进行波长选择,并利用图像处

weixin_34194829的博客 308

java.io定义的抽象类_下列不属于java.io包中的抽象类的是()。

请根据网页显示的效果图(如图12-4所示),将HTML文本中(n)处解答填于纸相应的解答栏内。<html><head><!-- TcmplateBeginEditable name='doctitle' --><title>论坛登录注意事项</title><!-- TemplateEndEditable --><meta. http-equiv='Content-Type' content='te...

weixin_34669755的博客 611

CodeBuddy 接入 MCP,一键生成网站!

2024 年 11 月,Anthropic 公司搞了个挺有意思的新玩意 - Model Context Protocol(模型上下文协议)简称为 MCP 协议。简单来说,它就是给 AI 和各类工具数据之间搭了个标准化的”桥梁”,让开发者不用再为对接问题头疼了。mcp.so如下图所示,这是 mcp.so 网站中的 MCP Server。使用百度/高德地图分析旅线计算时间接 Puppeteer 自动操作网页使用 Github/Gitlab 让大模型接管代码仓库。

悟空聊架构的专栏 1946

《Java程序设计A》期末考试

《Java程序设计A》期末考试

qq_68149578的博客 2185

ANSYS 2026 R1 Windows系统安装避坑指南:环境配置、模块部署与许可证实战

ANSYS作为主流CAE仿真平台,其安装部署已远超传统软件范畴,演变为涉及操作系统底层、GPU驱动兼容性、许可证微服务架构和统一缓存机制的系统工程。理解ANSYS安装原理,需从Windows 11 UEFI安全启动要求、DirectX 12 Ultimate图形栈依赖、gRPC架构的License Manager端口动态分配等核心机制切入;技术价值在于保障HFSS GPU加速、Fluent MPI并行稳定性及Workbench多模块协同可靠性;典型应用场景涵盖高校仿真实验室升级、工业设计院所平台重建及高性能

weixin_29251337的博客 1428

基于 InceptionNeXt 模块增强的 YOLOv8 模型:针对多尺度目标检测的改进与实现

modules.py。

know_F0727的博客 208

java 抽象类 详解

java 抽象类 内容分享,本篇博文为java 面向对象三大特性——多态篇的补充。

优快云 / 稀土掘金/ B站 / GitHub: Cyan_RA9 2万+

CentOS7 内核升级

可在http://ftp.sjtu.edu.cn/sites/elrepo.org/linux/kernel/el7/x86_64/RPMS选择对应架构平台不受影响的内核版本文件下载,然后离线安装,也可通过yum下载包后进行安装。通过 #uname -sr ,可以看到当前的内核版本 Linux 3.10.0-1160.el7.x86_64。首先找台能访问互联网的机器,通过联网的机器进行内核包下载。lt:longterm的缩写:长期维护版;ml:mainline的缩写:最新稳定版;

Jian Sun_的博客 601

Java基础篇------抽象类详解

🎉🎉Java入门级教程🎉🎉 🌹🌹适合刚学习Java的小白选手🌹🌹 😃😃快来学习一下吧~~~😃😃 😊😊如果看完这篇感觉还不满足,可以继续看下面👇这篇文章😊😊 👉👉👉👉👉关于接口的详细知识 目录 一、抽象类的定义 二、抽象类的特征 三、抽象类存在的意义 一、抽象类的定义 什么是抽象类? 父类知道子类一定要完成某个功能,但是每个子类完成的情况是不一样的。 子类以后也只会用自己重写的功能,那么父类的功能就可以定义为抽象方法,子类重写调用子类自己的就可以了。这个父类就成为抽象类。 抽...

每周更新,热爱coding! 9552

【代码版本管理】SVN(Subversion)

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对SVN(Subversion)代码版本管理做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。

qq_35635374的博客 668

【HEC】HECRAS中的降雨边界

网格降雨可能是城市地区建模的一个好选择。这是因为传统的一维(1D)建模并不能完全捕捉城市地区通常出现的复杂流动模式。使用网格降雨建模方法在构建包含多个未定义流动路径的模型时也非常有用。对于流量分支非常复杂的水道,设定边界条件可能会很困难。 HECRAS提供两种降雨边界添加的方法 - 在指定SA/2D FLOW AREA添加降雨边界 - 在hec-ras 6.0以上版本中 “气象数据” 的选项卡,可以添加具有空间变化的降水量、蒸散量和风。 两种方法只能选择一种,以下分别介绍

```On Earth, Be Water, By Coding``` 1399

java中的抽象类

抽象类(Abstract Class)是Java中一个不能被直接实例化的类,它使用abstract关键字进行声明。抽象类可以包含抽象方法,也可以包含具体方法和变量。抽象类的主要目的是为了提供一个通用的模板,让其他子类根据这个模板进行扩展。// 成员变量// 抽象方法System.out.println("普通方法");抽象类是Java中一个强大的特性,它允许我们定义一个包含抽象方法的类,这些方法由子类实现。抽象类提供了一种方式来创建一个模板,子类可以继承这个模板并根据需要实现具体的行为。

2401_85373732的博客 1943

【数据同化第一期】基本概念介绍

【数据同化第一期】基本概念介绍

WW、forever的博客 1904

java:Java中的抽象类

java中的抽象类的关键知识点。

2303_80025768的博客 1506

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

java之抽象类

众所周知,类是java里面用的最多的,类是将世间物质的性质组合起来,这个类拥有这个事物的属性,行为。我们可以通过new来创建一个实例化对象。但是,

mr_yuanshen的博客 1516

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Java抽象类

1.一个方法可以被修饰为abstract,此时代表这个方法可以不进行实现。此时被称为抽象方法!2.如果一个类当中 包含抽象方法,此时这个类必须是抽象类。没有抽象方法,这个类也可以被写为抽象类!问题:什么情况下 一个类 可以被定义为抽象类?答:当不能描述具体的一个对象的时候3.抽象类当中 定义的成员 和普通类没有区别。4.抽象类不可以被实例化问题:抽象类 不可以被实例化 那么 存在的意义是什么?答:为了被继承5.当一个普通类继承这个抽象类之后,必须重写抽象类当中的抽象方法!

matexiang的博客 1270

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

设计图形抽象类java_Java基础——抽象类

参考资料《Java语言程序设计(基础篇)》—— Y.Daniel Liang前言本人菜鸟,入IT只为当鼓励师。本编文章旨在对 Java 中的 抽象类 做总结一、抽象类1. 定义一个抽象类// 抽象类public abstract class Shape {// 可以有属性// private String color;// 可以有普通方法/* public void setColor(String...

weixin_39945789的博客 2837

Java中的抽象类介绍

Java中的抽象类介绍

cnds123的专栏 2185

java中抽象类继承抽象类_Java中的抽象类用示例解释

java中抽象类继承抽象类Abstract classes are classes declared with abstract. They can be subclassed or extended, but cannot be instantiated. You can think of them as a class version of interfaces, or as an inter...

cumi7754的博客 690

java抽象类普通方法_Java 抽象类

Java 抽象类在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要...

weixin_39753747的博客 957

java抽象类_Java抽象类

java抽象类Abstract class in Java is similar to interface except that it can contain default method implementation. An abstract class can have an abstract method without body and it can have methods with ...

从零开始的教程世界 845

Java之抽象类

抽象类笔记

ltzoro的博客 1538

Java 抽象类

Java—抽象类

weixin_67658096的博客 2189
上一篇: java面对对象三大特征 多态
下一篇: Java中的接口
糖芬蛋糕
博客等级 码龄5年 21粉丝 24原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值