点我
覆盖&重写
基本概述
如果子类有一个方法和父类中方法的名称、参数、返回类型都一样,那么我们就称子类的这个方法覆盖了父类的那个方法。
案例
animal类
package com.xbxaq.override;
public class Animal {
public void cry(){
System.out.println("动物在叫...");
}
}
dog类
package com.xbxaq.override;
public class Dog extends Animal{
public void cry(){
System.out.println("狗在叫...");
}
}
override类
package com.xbxaq.override;
public class Override01 {
public static void main(String[] args) {
Dog dog = new Dog();
dog.cry();
}
}
重写与重载区别
练习
题目
2.编写一个Person类,包括属性/private (name、age) ,构造器、方法say(返回自我介绍的字符串)
1.编写一个Student类,继承Person类,增加id、score属性/private,以及构造器,定义say方法(返回自我介绍的信息)。
3.在main中,分别创建Person和Student对象,调用say方法输出自我介绍
person类
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类
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类
运行结果:
分类:
JAVA
版权申明
本文系作者 @小白学安全 原创发布在 xbxaq.com 站点,未经许可,禁止转载!
评论