[Java学习] Java方法重载

  在Java中,同一个类中的多个方法可以有相同的名字,只要它们的参数列表不同就可以,这被称为方法重载(method overloading)。

  参数列表又叫参数签名,包括参数的类型、参数的个数和参数的顺序,只要有一个不同就叫做参数列表不同。

  重载是面向对象的一个基本特性。

  下面看一个详细的实例。

  1. public class Demo{

  2. // 一个普通的方法,不带参数

  3. void test(){

  4. System.out.println("No parameters");

  5. }

  6. // 重载上面的方法,并且带了一个整型参数

  7. void test(int a){

  8. System.out.println("a: " + a);

  9. }

  10. // 重载上面的方法,并且带了两个参数

  11. void test(int a,int b){

  12. System.out.println("a and b: " + a + " " + b);

  13. }

  14. // 重载上面的方法,并且带了一个双精度参数

  15. double test(double a){

  16. System.out.println("double a: " + a);

  17. return a*a;

  18. }

  19.

  20. public static void main(String args[]){

  21. Demo obj= new Demo();

  22. obj.test();

  23. obj.test(2);

  24. obj.test(2,3);

  25. obj.test(2.0);

  26. }

  27. }

  运行结果:

  No parameters

  a: 2

  a and b: 2 3

  double a: 2.0

  通过上面的实例,读者可以看出,重载就是在一个类中,有相同的函数名称,但形参不同的函数。重载的结果,可以让一个程序段尽量减少代码和方法的种类。

  说明:

  · 参数列表不同包括:个数不同、类型不同和顺序不同。

  · 仅仅参数变量名称不同是不可以的。

  · 跟成员方法一样,构造方法也可以重载。

  · 声明为final的方法不能被重载。

  · 声明为static的方法不能被重载,但是能够被再次声明。

  方法的重载的规则:

  · 方法名称必须相同。

  · 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。

  · 方法的返回类型可以相同也可以不相同。

  · 仅仅返回类型不同不足以成为方法的重载。

  (编辑:雷林鹏 来源:网络)

原文地址:https://www.cnblogs.com/pengpeng1208/p/9149786.html

时间: 2024-08-04 23:31:14

[Java学习] Java方法重载的相关文章

Java学习之方法重载和方法重写(覆盖)比较

方法重载和方法覆盖 请带着下面两点来看文章: 覆盖即重写,覆盖不等于重载,即重写不等于重载. 覆盖(重写)蕴含继承性,而重载只能在本类中使用,不含继承. 方法名和参数列表的比较 方法覆盖中的方法名和参数 首先创建基类Shape: public class Shape {   public void draw() { System.out.println("Shape.draw()"); } } 子类Circle: public class Circle extends Shape {

1.28 Java基础总结 ①方法重载②构造方法

1.28 Java基础总结 ①方法重载②构造方法 一.方法的重载在同一个类中,方法名相同,形参列表不同访问修饰符.返回类型和是否重载无关:按顺序对应的形参列表类型不同即可 二.构造器在类创建一个实例时被调用,构造方法只能用new关键字调用目的:初始化实例,初始化类属性(0,0.0,null,false)无返回值,和类名一致,用来构造对象作用:为对象分配内存, 创建并初始化成员变量(通过类创建,所以可以在static方法中调用构造方法) 返回引用,引用.属性:引用.方法(所以无返回值) 三.构造方

Java学习资料-方法覆盖、方法重载、多态与动态绑定

1.方法覆盖 方法覆盖就是子类定义一个和父类同名的方法来覆盖父类的方法.当父类方法在某些子类中被覆盖后,通常是子类调用父类,并做一些额外的其它工作. 使用方法覆盖应注意下面一些事项: 不使用super而希望引用父类方法会导致无限的递归,因为子类方法实际上是在调用它自己. 当通过父类引用调用一个方法时,Java会正确地选择与那个对象对应的类的覆盖方法.对于父类提供的方法,子类可以覆盖它,但这不是必须的,即子类也可以使用一个方法的父类版本. 方法覆盖中,子类在重新定义父类已有的方法时,应保持与父类完

Java学习的方法

我作为万千Java程序员的一名程序员,J2EE应用程序的开发者来说,Java的开发者正深陷于复杂性的泥沼中而无法自拔.我们的经验和能力正接近于极限,程序员编写支持所选框架的程序所花的时间比解决实际问题的时间要多太多.我们有时候会想,有必要把Java搞得这么繁复吗?.答案是否定的.无论是维护应用程序,还是从头开始设计,你都能够超越成规,并大幅精简基本框架.开发过程和最终代码.我们只需要重点学习其中的一部分技术就可以了,对于其他部分只要做到心中有数,哪天需要用到了知道跑哪里去找到资料就行了!想学习J

JAVA SE中方法重载和方法重写及数据库中子程序的重载

首先方法重写和方法重载是建立在Java的面向对象的继承和多态的特性基础上而出现的.至于面向对象的继承和多态的特性我就不在这里多说了.继承是指在一个父类的基础再创建一个子类,这样子类就拥有了父类的非私有的特性,同时子类还可以扩展自己的特性,这样就引出了方法重写和方法重载! 一.方法重写(Override)         在Java中如何来定义重写:Java程序中类的继承特性可以产生一个子类,子类继承父类就拥有了父类的非私有的属性(方法和变量),在子类中可以增加自己的属性(方法和变量),同时也可以

java中的方法——重载

重载(Overloading) (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型. 重载Overloading是一个类中多态性的一种表现. (2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义. 调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性. (3) 重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同.无法以返回

java可变参数方法重载的注意事项

1.可变参数方法与数组参数方法重载 public class MethodParams{ //带可变参数的方法 public void hello(String ...params) { System.out.println("执行带可变参数的方法,参数个数为:" + params.length); } //带数组参数的方法 public void hello(String[] params) { System.out.println("执行带数组参数的方法,数组长度为:&q

Java ——对象 类 方法重载 构造方法 封装

本节重点思维导图 快捷键 生成代码:alt+shift+s 提取变量:alt+shift+L 快速复制行:alt+ctrl+向上或向下的箭头 删除行:ctrl+d 类:对同一种事物共同属性和行为的抽象 对象:根据类创建出来的具体的实物 方法重载 在同一个类中提供多个同名不同参的方法. 重载要求:方法名称相同,但参数的   [ 类型不同     or   参数的个数不同     or     参数的顺序不同] public class Demo { public void fun1() { } p

Java学习有方法有捷径

很多人都想掌握一门技术,想学习Java开发,看中的不仅仅是广阔的行业发展前景,更是高薪的诱惑.具体要怎么做,才能在较短的时间内高效的掌握Java开发技术?笔者在此稍作梳理. 无论学习还是做任何事情前,都要对所所要着手的事情有个大致的了解,学习Java开发也一样. 首先,就是及时了解Java整个行业发展信息,包括企业需求的Java岗位要求.行业发展趋势等等,大致做到心中有数,给自己定下目标,确定要进入的企业类别.目标发展城市等. 其次,要做的就是分析自身的实力及能力,根据实际情况制定出一份完整的学