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

接口和抽象方法示例

接口

接口可以让不同的类实现相同的接口,从而以统一的方式调用不同类的方法,实现多态。

package com.example.demo1;// 定义一个动物接口
interface Animal {void makeSound();
}// 狗类实现 Animal 接口
class Dog implements Animal {@Overridepublic void makeSound() {System.out.println("汪汪汪");}
}// 猫类实现 Animal 接口
class Cat implements Animal {@Overridepublic void makeSound() {System.out.println("喵喵喵");}
}public class InterfaceExample {public static void main(String[] args) {Animal dog = new Dog();Animal cat = new Cat();dog.makeSound();cat.makeSound();}
}

抽象方法

抽象类中的抽象方法要求子类必须实现,以此确保子类具有特定的行为。

package com.example.demo1;// 定义一个抽象类 Shape
abstract class Shape {// 抽象方法,计算面积public abstract double area();
}// 圆形类继承 Shape 抽象类
class Circle extends Shape {private double radius;public Circle(double radius) {this.radius = radius;}@Overridepublic double area() {return Math.PI * radius * radius;}
}// 矩形类继承 Shape 抽象类
class Rectangle extends Shape {private double width;private double height;public Rectangle(double width, double height) {this.width = width;this.height = height;}@Overridepublic double area() {return width * height;}
}public class AbstractMethodExample {public static void main(String[] args) {Shape circle = new Circle(5);Shape rectangle = new Rectangle(4, 6);System.out.println("圆的面积: " + circle.area());System.out.println("矩形的面积: " + rectangle.area());}
}

http://www.dtcms.com/a/276267.html

相关文章:

  • C语言基础知识--联合体
  • Mybatis的一级缓存与二级缓存
  • 电网失真下单相锁相环存在的问题
  • STM32第二十一天定时器TIM
  • docker搭建 与镜像加速器
  • LeetCode经典题解:3、无重复字符的最长子串
  • 【Elasticsearch】post_filter
  • 【MATLAB代码】Chan方法解算TOA,用于三维目标的定位,锚点数量可自适应。订阅专栏后可查看完整代码
  • Windows环境下解决Matplotlib中文字体显示问题的详细指南
  • PyTorch神经网络实战:从零构建图像分类模型
  • linux----------------------线程同步与互斥(上)
  • 搭建MySQL读写分离
  • LiteFlow源码
  • Mamba架构的模型 (内容由deepseek辅助汇总)
  • 手把手教你 Aancond 的下载与 YOLOV13 部署(环境的创建及配置下载)以及使用方法,连草履虫都能学会的目标检测实验!
  • net.createServer详解
  • Python后端项目之:我为什么使用pdm+uv
  • 模拟注意力:少量参数放大 Attention 表征能力
  • hiredis: 一个轻量级、高性能的 C 语言 Redis 客户端库
  • 深入解析C#接口实现的两种核心技术:派生继承 vs 显式实现
  • Java 21 虚拟线程
  • 浏览器宏任务的最小延时:揭开setTimeout 4ms的神话
  • java中的main方法
  • window7,windows10,windows11种系统之间实现打印机共享
  • 创客匠人:从定位逻辑看创始人 IP 如何驱动 IP 变现
  • CompareFace使用
  • Kimi K2万亿参数开源模型原理介绍
  • 【读书笔记】《C++ Software Design》第二章:The Art of Building Abstractions
  • Ruby如何采集直播数据源地址
  • OpenEuler操作系统中检测插入的USB设备并自动挂载