Java 继承中 Animal 与 Dog 类构造方法详解及开发注意要点
public class Animal { // 无参构造方法 public Animal() { System.out.println("Animal的无参构造方法被调用"); } // 单参构造方法 public Animal(String name) { System.out.println("Animal的单参构造方法被调用,name=" + name); } // 双参构造方法 public Animal(String name, int age) { System.out.println("Animal的双参构造方法被调用,name=" + name + ", age=" + age); } } public class Dog extends Animal { private String breed; // 无参构造:默认调用父类无参构造 public Dog() { super(); // 显式调用父类无参构造(可省略,但会隐式调用) this.breed = "未指定"; System.out.println("Dog的无参构造方法被调用,品种设为:" + this.breed); } // 单参构造:传递name给父类单参构造 public Dog(String name) { super(name); // 调用父类单参构造 this.breed = "萨摩耶"; System.out.println("Dog的单参构造方法被调用,设置品种为:" + this.breed); } // 全参构造:传递name和age给父类双参构造,设置breed public Dog(String name, int age, String breedType) { super(name, age); // 调用父类双参构造 this.breed = breedType; System.out.println("Dog的全参构造方法被调用,设置品种为:" + this.breed); } } public class Test03 { public static void main(String[] args) { System.out.println("------------------------"); Dog dog1 = new Dog(); System.out.println("------------------------"); Dog dog2 = new Dog("白白"); System.out.println("------------------------"); Dog dog3 = new Dog("小白", 3, "柯基犬"); } } /* 输出结果: ------------------------ Animal的无参构造方法被调用 Dog的无参构造方法被调用,品种设为:未指定 ------------------------ Animal的单参构造方法被调用,name=白白 Dog的单参构造方法被调用,设置品种为:萨摩耶 ------------------------ Animal的双参构造方法被调用,name=小白, age=3 Dog的全参构造方法被调用,设置品种为:柯基犬 */ 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: - 子类构造方法中必须优先调用父类构造方法,super() 必须位于第一行。 - 若父类没有无参构造方法,子类所有构造方法都必须显式使用 super 调用匹配的父类构造。 - 构造方法不能被继承,但创建子类对象时会自动触发父类构造链。 ######[AI写代码神器 | 650点数解答 | 2025-11-09 15:27:37]
- JavaScript:用类与继承实现 Dog 类输出“woof”(阿里通义 | 302点数解答 | 2024-10-29 10:14:24)414
- JavaScript 运用类与继承:实现 Dog 类重写 speak 方法输出“woof”(字节豆包 | 191点数解答 | 2024-10-29 21:08:03)212
- Java 继承中 Animal 与 Dog 类构造方法详解及开发注意要点(阿里通义 | 650点数解答 | 2025-11-09 15:27:37)86
- Pandas 数据框操作:从创建到筛选排序全解析!(阿里通义 | 317点数解答 | 2025-04-14 18:32:16)232
- Python 实现:创建 Animal 类与 Dog 类,重写 speak 方法并实例调用(字节豆包 | 163点数解答 | 2024-10-29 08:20:30)198
- JavaScript:创建 Animal 类与 Dog 类,重写 speak 方法并实例调用(字节豆包 | 63点数解答 | 2024-10-29 08:20:51)196
- Python 实战:用类和继承实现动物发声,Dog 喊出“woof”!(字节豆包 | 173点数解答 | 2024-10-29 23:33:44)219
- Java多态实战:主人领养猫狗鸭,一法唤出百声鸣! (DeepSeek | 519点数解答 | 2025-03-04 17:10:48)245
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)405
- Java 实现计算机硬件模拟:从 PCI 设备到主板、计算机的启动与关闭(字节豆包 | 716点数解答 | 2024-12-08 23:38:38)324
- Java 代码:模拟计算机主板启动与关闭 PCI 设备全流程(字节豆包 | 637点数解答 | 2024-12-09 08:31:54)293
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)305