为了账号安全,请及时绑定邮箱和手机立即绑定

这里有一个是关于Java的问题,请问java的重载有什么意义?

这里有一个是关于Java的问题,请问java的重载有什么意义?

慕斯709654 2021-07-20 19:15:10
别告诉我什么是重载,我知道什么是重载。我想知道的是:重载有什么作用?重载的存在有什么意义?
查看完整描述

3 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

同一类型的方法,对不同的对象,具有不同的表现形式
class Student
{
void say()
{
System.out.println("老师,劳累你了。。。");
}
}
class Leader
{
void say()
{
System.out.println("同志们,辛苦你们了。。。");
}
}

class SayHello
{
void greeting(Student stu) //学生打招呼的方式
{
stu.say();
}
void greeting(Leader lea) //领导打招呼的方式
{
lea.say();
}
}

public final class Maintest {

public static void main(String[] args) {

Student stu=new Student();
Leader lea=new Leader();

SayHello sh=new SayHello();
sh.greeting(stu);
sh.greeting(lea);
}
}

同样是打招呼的greeting()方法,“学生和领导”两个对象不同,打招呼的形式也就不同



查看完整回答
反对 回复 2021-07-25
?
莫回无

TA贡献1865条经验 获得超7个赞

重载可以调用子类中与超类同名不同参的方法,从而避免调用超类方法
还有重载运算符可以执行对象的运算,比如把A对象赋给B对象。

查看完整回答
反对 回复 2021-07-25
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

java是面向对象的,一个对象有多种形态,每个状态的处理和变现都是不一样的,这一点与自然界的物体相同,重载的好处在于,对象在不同状态下(多态)调用重载函数得到的结果可以不一样。形成多种处理方式,就好比你去取钱,可以在ATM中取,也可以在柜台服务员哪里受理。至于你是那种我们不得而知,我只知道你去“取钱”(如同重载的函数名),这两种方式有不同的物体和你完成操作,ATM和柜台服务员,因此他们成为你区分这两个“取钱”的方式,就像重载函数通过所传递的参数来区分一样。说白了重载就是在编译期间就知道你有多少种手段解决问题。

查看完整回答
反对 回复 2021-07-25
  • 3 回答
  • 0 关注
  • 333 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信