当前位置: 首页 > news >正文

抽象类基础知识

抽象类

  • 1.概念
  • 2.语法
  • 3.特性
  • 4.作用
  • 5.运用

1.概念

如果一个类中没有包含足够的信息来描绘一个具体的对象,
这样的类就是抽象类

2.语法

一个类如果被 abstract 修饰称为抽象类,
抽象类中被 abstract 修饰的方法称为抽象方法,
抽象方法不用给出具体的实现体
抽象类也是类,内部可以包含普通方法和属性,甚至构造方法

// 抽象类:被abstract修饰的类
public abstract class Shape {// 抽象方法:被abstract修饰的方法,没有方法体abstract public void draw();abstract void calcArea();// 抽象类也是类,也可以增加普通方法和属性public double getArea(){return area;}protected double area;    // 面积
}

3.特性

  1. 抽象类不能直接实例化对象
  2. 抽象方法不能是 private 的
  3. 抽象方法不能被final和static修饰,因为抽象方法要被子类重写
  4. 抽象类必须被继承,并且继承后子类要重写父类中的抽象方法,
    否则子类也是抽象类,必须要使用 abstract 修饰
  5. 抽象类中不一定包含抽象方法,但是有抽象方法的类一定是抽象类
  6. 抽象类中可以有构造方法,供子类创建对象时,初始化父类的成员变量

4.作用

抽象类相当于多了一重编译器的校验

5.运用

public class Cycle extends Shape{@Overridepublic void draw() {System.out.println("画一个圆....");}
}
public class Flower extends Shape{@Overridepublic void draw() {System.out.println("画一个花....");}
}
public class Rect extends Shape{@Overridepublic void draw() {System.out.println("画一个矩形....");}
}
public abstract class Shape {public abstract void draw();
}
public class Test {public static void drawMap(Shape shape) {shape.draw();}public static void main(String[] args) {drawMap(new Cycle());drawMap(new Rect());drawMap(new Flower());}
}
http://www.lryc.cn/news/584532.html

相关文章:

  • 5. isaac sim4.2 教程-Core API-操作机械臂
  • 大模型之Langchain篇——基础操作
  • 编写DockerFile文件
  • Dart 语言知识点总结
  • C++编程学习阶段性总结
  • python-字符串
  • 钉钉拿飞书当靶
  • 服务器内核级故障排查
  • 深入理解区块链 | 去中心化架构与密码学保障
  • Redisson 的分布式锁
  • (一)OpenCV——噪声去除(降噪)
  • 职坐标:嵌入式AI边缘计算实战
  • [5种方法] 如何将iPhone短信保存到电脑
  • 【网络】Linux 内核优化实战 - net.ipv4.tcp_keepalive_intv
  • Cloudflare 发布容器服务公测版:边缘计算新时代来临?
  • 【TCP/IP】6. 差错与控制报文协议
  • 下一代防火墙混合模式部署
  • 化工厂防爆气象站的功能优势
  • 逻辑回归的Python实现与优化
  • jenkins部署springboot项目
  • 综合演练——名片管理系统I
  • CVE-2022-4262/CVE-2022-3038
  • YOLO11 目标检测从安装到实战
  • Flutter 知识点总结
  • Spring Boot 3.4 :@Fallback 注解 - 让微服务容错更简单
  • 颠覆传统IO:零拷贝技术如何重塑Java高性能编程?
  • 【Linux基础命令使用】查找文件、归档管理、计划任务命令详解
  • 决策树与随机森林Python实践
  • 云原生技术与应用-Docker高级管理--Dockerfile镜像制作
  • STM32之风扇模块(开关控制+PWM调速)