当前位置: 首页> 房产> 家装 > 免费建站论坛_创新产品设计方案_品牌推广公司_永久免费客服系统软件

免费建站论坛_创新产品设计方案_品牌推广公司_永久免费客服系统软件

时间:2025/7/14 19:09:23来源:https://blog.csdn.net/asacmxjc/article/details/143568737 浏览次数:0次
免费建站论坛_创新产品设计方案_品牌推广公司_永久免费客服系统软件

基本介绍

方法覆盖(重写)就是子类有一个方法,和父类的某个方法的名称、返回类型、参数一样,那么我们就说子类的这个方法覆盖了父类的方法。

注意事项和使用细节

在这里插入图片描述

演示代码

package com.hspedu.override;public class Animal {public void cry() {System.out.println("动物叫唤..");}public Object m1() {return null;}public String m2() {return null;}public AAA m3() {return null;}protected void eat() {}
}
package com.hspedu.override;public class Dog extends Animal {//1. 因为 Dog 是 Animal 子类
//2. Dog 的 cry 方法和 Animal 的 cry 定义形式一样(名称、返回类型、参数)
//3. 这时我们就说 Dog 的 cry 方法,重写了 Animal 的 cry 方法public void cry() {System.out.println("小狗汪汪叫..");}//细节: 子类方法的返回类型和父类方法返回类型一样,
// 或者是父类返回类型的子类
//    比如 父类
//    返回类型是 Object, // 子类方法返回类型是 Stringpublic String m1() {return null;}//这里 Object 不是 String 的子类,因此编译错误
// public Object m2() {
// return null;
// }
// public BBB m3() {
// return null;
// }//细节: 子类方法不能缩小父类方法的访问权限 【演示】
//public > protected > 默认>privatepublic  void eat() {}
}class AAA {}class BBB extends AAA {}
package com.hspedu.override;public class Override01 {public static void main(String[] args) {
//演示方法重写的情况Dog dog = new Dog();dog.cry();//ctrl+b}
}

在这里插入图片描述

方法的重写和重载的比较

在这里插入图片描述

练习

在这里插入图片描述

package com.hspedu.override_;public class Person {/*编写一个 Person 类,包括属性/private(name、age),构造器、方法 say(返回自我介绍的字符串)。*/private String name;private int age;public Person(String name, int age) {this.name = name;this.age = age;}public String say() {return "name=" + name + " age=" + age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}
package com.hspedu.override_;public class Student extends Person {
//    编写一个 Student 类,继承 Person 类,增加 id、score
//    属性/private,以及构造器,定义 say 方法(返回自我介绍的信息private int id;private double score;public Student(String name, int age, int id, double score) {super(name, age);  //这里会调用父类构造器this.id = id;this.score = score;}public String say() {//这里体现 super 的一个好处,代码复用.return super.say() + " id=" + id + " score=" + score;}public int getId() {return id;}public void setId(int id) {this.id = id;}public double getScore() {return score;}public void setScore(double score) {this.score = score;}
}
package com.hspedu.override_;public class OverrideExercise {public static void main(String[] args) {Person jack = new Person("jack",10);System.out.println(jack.say());Student smith = new Student("smith",20,12345,99.9);System.out.println(smith.say());}
}

在这里插入图片描述

关键字:免费建站论坛_创新产品设计方案_品牌推广公司_永久免费客服系统软件

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: