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

extends 和 implements

以下是 extends 和 implements 在Java代码中的区别和示例:

示例1:使用 extends 实现类继承

// 定义一个父类 Animal
public class Animal {public void eat() {System.out.println("动物在吃东西");}public void sleep() {System.out.println("动物在睡觉");}
}// 定义一个子类 Dog 继承自 Animal 类
public class Dog extends Animal {// 子类重写了父类的 eat 方法@Overridepublic void eat() {System.out.println("狗正在吃骨头");}// 子类新增一个 bark 方法public void bark() {System.out.println("狗在叫");}
}// 使用时,Dog 类可以调用父类 Animal 的方法以及它自己的方法
public class Main {public static void main(String[] args) {Dog dog = new Dog();dog.eat();  // 输出 "狗正在吃骨头"dog.sleep(); // 输出 "动物在睡觉"(从 Animal 类继承)dog.bark();  // 输出 "狗在叫"}
}

示例2:使用 implements 实现接口

// 定义一个接口 Flyer,包含两个抽象方法
public interface Flyer {void takeOff();void land();
}// 定义一个类 Bird,实现 Flyer 接口
public class Bird implements Flyer {@Overridepublic void takeOff() {System.out.println("鸟儿起飞了");}@Overridepublic void land() {System.out.println("鸟儿降落了");}// Bird 类有自己的行为方法public void chirp() {System.out.println("鸟儿在鸣叫");}
}// 使用时,Bird 类作为 Flyer 接口的实现类,必须实现接口的所有方法
public class Main {public static void main(String[] args) {Bird bird = new Bird();bird.takeOff();   // 输出 "鸟儿起飞了"bird.land();     // 输出 "鸟儿降落了"bird.chirp();    // 输出 "鸟儿在鸣叫"}
}

通过以上示例可以看出:

  • 当使用 extends 关键字时,子类 (Dog) 继承了父类 (Animal) 的属性和方法,并且可以重写父类的方法。
  • 当使用 implements 关键字时,类 (Bird) 必须提供接口 (Flyer) 中所有声明方法的具体实现。同时,类还可以拥有自己的额外方法。
http://www.lryc.cn/news/287120.html

相关文章:

  • 响应拦截器的 return Promise.reject(res.data.message)
  • Windows下 VS2022 编译OpenSSL 库
  • 【GitHub项目推荐--一个简单的绘图应用程序(Rust + GTK4)】【转载】
  • 【算法小记】——机器学习中的概率论和线性代数,附线性回归matlab例程
  • MySQL数据库的锁机制
  • 解决 conda新建虚拟环境只有一个conda-meta文件&conda新建虚拟环境不干净
  • React16源码: React中的completeWork对HostText处理含更新的源码实现
  • 网络协议与攻击模拟_07UDP协议
  • 生命在于折腾——WeChat机器人的研究和探索
  • 融资项目——EasyExcel将Excel文件保存至数据库
  • 【Oracle】设置FGA(Fine-Grained Audit)细粒度审计
  • js vue调用activex ocx
  • Hbas简介:数据模型和概念、物理视图
  • uniapp css样式穿透
  • 【立创EDA-PCB设计基础完结】7.DRC设计规则检查+优化与丝印调整+打样与PCB生产进度跟踪
  • android 线程池的管理工具类
  • 编码风格之(5)GNU软件编码风格(3)
  • 8 种网络协议
  • Flash读取数据库中的数据
  • 如何写出规范优雅的代码
  • 【数据结构】链表(单链表与双链表实现+原理+源码)
  • 14027.ptp 控制流
  • 【昕宝爸爸小模块】深入浅出之为什么POI的SXSSFWorkbook占用内存更小
  • CentOS安装Flume
  • Qt 多次绘图
  • 设计模式介绍
  • linux 之 ln 命令
  • 【设计模式】张一鸣笔记:责任链接模式怎么用?
  • Vulnhub-dc4
  • MySQL45道练习题