Java
基础知识
01概述
02变量
03运算符
04程序控制语句
05数组
06面向对象编程
07代码练习
08重载
09作用域
10构造方法&构造器
11this
12包
13修饰符
14封装
15继承
16super
17覆盖&重写
18多态
19零钱通项目
20类变量&类方法
21抽象类
22接口
23内部类
24枚举
25泛型
26常用API
27lambda表达式
28正则表达式
29异常
30File&IO流
31日志技术
32多线程
33网络编程
-
+
首页
17覆盖&重写
## 基本概述 如果子类有一个方法和父类中方法的名称、参数、返回类型都一样,那么我们就称子类的这个方法覆盖了父类的那个方法。 ## 案例 animal类 ```java package com.xbxaq.override; public class Animal { public void cry(){ System.out.println("动物在叫..."); } } ``` dog类 ```java package com.xbxaq.override; public class Dog extends Animal{ public void cry(){ System.out.println("狗在叫..."); } } ``` override类 ```java package com.xbxaq.override; public class Override01 { public static void main(String[] args) { Dog dog = new Dog(); dog.cry(); } } ```  ## 重写与重载区别  ## 练习 **题目** ```txt 2.编写一个Person类,包括属性/private (name、age) ,构造器、方法say(返回自我介绍的字符串) 1.编写一个Student类,继承Person类,增加id、score属性/private,以及构造器,定义say方法(返回自我介绍的信息)。 3.在main中,分别创建Person和Student对象,调用say方法输出自我介绍 ``` person类 ```java package com.xbxaq.override; public class Person { 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 int getAge() { return age; } public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } } ``` Student类 ```java package com.xbxaq.override; public class Student extends Person{ 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(){ 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; } } ``` Override类  运行结果: 
毛林
2025年9月7日 12:13
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码