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

Java继承的实现

我将用完整的 Java 代码示例来展示继承的实现,包括父类、子类的定义以及继承关系的使用:

// 父类:动物
public class Animal {// 共享属性protected String name;protected int age;// 父类构造方法public Animal(String name, int age) {this.name = name;this.age = age;}// 父类的通用方法public void eat() {System.out.println(name + "正在吃东西");}public void sleep() {System.out.println(name + "正在睡觉");}public void introduce() {System.out.println("我叫" + name + ",今年" + age + "岁");}
}
 
 
// 子类:猫,继承自动物类
public class Cat extends Animal {// 子类构造方法public Cat(String name, int age) {super(name, age); // 调用父类的构造方法}// 子类特有方法public void meow() {System.out.println(name + "在喵喵叫");}// 重写父类方法@Overridepublic void eat() {System.out.println(name + "在吃鱼");}
}
 
 
// 子类:狗,继承自动物类
public class Dog extends Animal {// 子类特有属性private String breed; // 品种// 子类构造方法,通过super调用父类构造方法public Dog(String name, int age, String breed) {super(name, age); // 调用父类的构造方法this.breed = breed;}// 子类特有方法public void bark() {System.out.println(name + "在汪汪叫");}// 重写父类方法,实现多态@Overridepublic void eat() {System.out.println(name + "在啃骨头");}// 重写父类介绍方法,添加子类特有信息@Overridepublic void introduce() {super.introduce(); // 调用父类的introduce方法System.out.println("我是一只" + breed);}
}
 
 
// 测试类
public class InheritanceTest {public static void main(String[] args) {// 创建狗对象Dog dog = new Dog("小黑", 3, "拉布拉多");dog.introduce();dog.eat();       // 调用重写后的方法dog.sleep();     // 继承父类的方法dog.bark();      // 子类特有方法System.out.println("-------------------");// 创建猫对象Cat cat = new Cat("小白", 2);cat.introduce();cat.eat();       // 调用重写后的方法cat.sleep();     // 继承父类的方法cat.meow();      // 子类特有方法}
}
 
 

代码解释:
继承关系:
Dog和Cat类通过extends关键字继承自Animal类
子类自动获得父类的属性(name、age)和方法(eat()、sleep()等)
构造方法:
子类构造方法中使用super()调用父类的构造方法
必须在子类构造方法的第一行调用父类构造方法
方法重写:
子类可以重写父类的方法(如eat()和introduce())
使用@Override注解标识重写的方法,提高代码可读性
子类特有功能:
子类可以添加自己特有的属性(如Dog类的breed)
子类可以添加自己特有的方法(如bark()和meow())
访问修饰符:
父类使用protected修饰的属性,子类可以直接访问
这体现了封装与继承的平衡
运行InheritanceTest类,你会看到子类既可以使用父类的方法,又可以有自己的实现,这就是继承的核心价值:代码复用和功能扩展。

http://www.gsyq.cn/news/24289.html

相关文章:

  • 「学习笔记」Linux 学习笔记(持续更新中)
  • java入门代码示例
  • 极端的利己主义与虚伪的利他主义
  • WinRAR-7.13-Final-x64-烈火汉化版
  • 2025年羽绒服厂家推荐排行榜,轻薄保暖羽绒服,时尚羽绒服,户外运动羽绒服公司推荐!
  • Windows端口查看查找exe进程名
  • 12. 模型RAG评测 - Rainbow
  • 2025年卫衣厂家推荐排行榜,春秋冬款卫衣,男女同款卫衣,运动休闲卫衣公司推荐!
  • 2025年10月运动木地板厂家推荐:对比评测榜单助力场馆精准选材
  • 2025年羽绒服厂家推荐排行榜,保暖轻盈时尚羽绒服,冬季必备高品质羽绒服公司推荐!
  • 2025年10月美白精华推荐榜:OLAY水光小白瓶领衔对比评测排行
  • 2025年10月智能体公司推荐:行胜领衔五强榜对比评测
  • 完整教程:UniApp manifest.json 配置文件完全解析
  • 2025年10月北京金融街附近豪华酒店综合对比与排行榜单
  • 2025年10月金融街附近豪华酒店对比排行与评测分析
  • 大模型基础补全计划(五)---seq2seq实例与测试(编码器、解码器架构)
  • 2025年10月连锁酒店排行榜前十名深度对比与投资价值分析
  • 2025年10月亲子旅游景区综合对比与排行榜解析
  • 2025年角接触轴承厂家推荐排行榜,高精度/高承载/高精密球/机床主轴/汽车/定制/可替代进口/高转速/高刚性轴承公司推荐!
  • gRPC C++内存问题与jemalloc解决方案
  • 2025年10月北京婚姻纠纷律所对比与排名分析报告
  • 2025年10月北京婚姻纠纷律所专业对比与排行榜分析
  • 家理律师事务所联系方式:婚姻家事法律服务专业机构官方信息
  • grpc c++服务 通过jenalloc进行内存管理
  • Asp.Net Core 使用 Docker 调试并加入 docker-compose.yml 容器编排的网络,实现容器间通过 hosts 正常访问
  • 2025年10月北京离婚房产律师专业能力对比与排行分析
  • 2025年10月北京离婚房产律师专业能力对比与服务质量排行分析
  • 视频监控设备同时云台控制/onvif云台控制/一键云台控制/监控画面显示
  • 20232328 2025-2026-1 《网络与系统攻防技术》实验二实验报告
  • 2025年10月油烟机品牌排行榜前十名综合评测与选购指南