Java中方法重载和构造方法的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中方法重载和构造方法的区别相关的知识,希望对你有一定的参考价值。

方法重载就是同一个类中,有多个方法,方法名是一样的,但是形参不一样,调用的时候,程序会根据传入的形参不同,而选择对应的方法。例如void a() 和 void a(String b)和void a(int b)就是重载的三个方法。
构造方法也叫构造器,它也是一种方法,也可以重载,它的方法名与类名相同,不用写返回值,也不用加void。例如
class a
public a()

另外构造器是在创建此类的对象的时候就会调用的,它的作用是初始化类的对象。 如果你没有为类写构造器,JAVA虚拟机自动为类添加一个无参数的构造器,只是你看不到。
参考技术A 方法重载是让类以统一的方式处理不同类型数据的一种手段。Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法, 这就是多态性

构造方法的名字必须与类名同名,大小写也必须完全一致
构造方法没有返回值类型
一个类的构造方法,可以有多个,主要靠参数区别本回答被提问者采纳
参考技术B 构造方法主要用于初始化对象,重载主要是针对方法而言的,例如杂技师训练动物,对于不同的动物有不同的训练方法,虽然都是方法名都是训练,但是具体的实现还要看传入的参数是狗,还是猫,还是其他的

Java中的方法覆盖(Overriding)和方法重载(Overloading)是啥意思?

覆盖是override方法重写 重载是overload
按照教科书上的定义,重载就是具有相同函数名,返回类型可以不同,参数个数、顺序、类型不同的函数。我的理解是重载是发生在两个或者是更多的函数具有相同的名字的情况下。
重写就是覆盖父类的方法,和父类有相同返回类型,参数,甚至是抛出的异常,重写方法不能为private,运用中最典型的就是对接口方法的覆盖。
参考技术A Java中的方法重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同的情况。与此相对,方法覆盖是说子类重新定义了父类的方法。方法覆盖必须有相同的方法名,参数列表和返回类型。覆盖者可能不会限制它所覆盖的方法的访问。

以上是关于Java中方法重载和构造方法的区别的主要内容,如果未能解决你的问题,请参考以下文章

请简述重载和重写的区别

Java -- 构造函数 & this & 方法重写和方法重载的区别

重写和重载的三点区别

Java中的方法覆盖(Overriding)和方法重载(Overloading)是啥意思?

重载与重写区别?

java中重载有啥用