Java 重载重写(OverrideOverload)
Posted 王睿丶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 重载重写(OverrideOverload)相关的知识,希望对你有一定的参考价值。
重写
/**
* @author wangrui
* @time 2021-10-29
*/
public class Main1 {
public static void main(String[] args) {
//创建People 对象
People p1 = new People();
//向上转型
People p2 = new WangRui();
p1.teZheng();
System.out.println("---------------------------");
p2.teZheng();
System.out.println("---------------------------");
//p2.eat(); 报错,因为p2的引用类型People没有eat方法
WangRui wr = new WangRui();
wr.eat();
}
}
class People{
//特征
public void teZheng() {
System.out.println("我有一个鼻子,两个眼睛");
}
}
class WangRui extends People{
//重写父类特征
@Override
public void teZheng() {
System.out.println("我很帅,并且很能吃");
}
//新增子类特性,比如王睿喜欢吃的东西
public void eat() {
System.out.println("我喜欢吃薯条");
}
}
运行结果:
我有一个鼻子,两个眼睛
---------------------------
我很帅,并且很能吃
---------------------------
我喜欢吃薯条
方法重载
/**
* @author wangrui
* @time 2021-10-29
*/
public class Main3 {
public void plan(String breakfast) {
System.out.println("早餐:我想喝"+breakfast);
}
public void plan(String breakfast,String exercise) {
System.out.println("午饭:我想吃"+breakfast+" ---- 运动:我想去" + exercise);
}
public void plan(int dinner) {
System.out.println("晚饭:我要吃"+dinner+"碗饭");
}
public static void main(String[] args) {
Main3 wr = new Main3();
wr.plan(4);
wr.plan("牛奶");
wr.plan("剁椒鱼头","游泳");
}
}
运行结果
晚饭:我要吃4碗饭
早餐:我想喝牛奶
午饭:我想吃剁椒鱼头 ---- 运动:我想去游泳
super 实现子类调用父类的重写方法
/**
* @author wangrui
* @time 2021-10-29
*/
public class Main2 {
public static void main(String[] args) {
People2 p1 = new People2();
WangRui2 p2 = new WangRui2();
p1.teZheng();
System.out.println("---------------------------");
p2.teZheng();
}
}
class People2{
public void teZheng() {
System.out.println("我有一个鼻子,两个眼睛");
}
}
class WangRui2 extends People{
//重写父类方法
@Override
public void teZheng() {
//在子类中调用父类的被重写方法,意思是调用父类的teZheng()
super.teZheng();
System.out.println("我很帅,并且很能吃");
}
}
运行结果
我有一个鼻子,两个眼睛
---------------------------
我有一个鼻子,两个眼睛
我很帅,并且很能吃
以上是关于Java 重载重写(OverrideOverload)的主要内容,如果未能解决你的问题,请参考以下文章