Java方法的重载和构造器简介

134 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第4天,点击查看活动详情
1.什么是重载?
在java中允许同一个类存在一个以上方法名相同,但是参数列表不同的情形,这种情况即称为重载
Java中的方法重载,在一个类中,可以存在多个方法名相同的方法,但是参数列表不同。同一个类中定义的多个方法之间的关系,满足下列的多个方法互相构成重载:

1.多个方法在同一个类中。
2.多个方法具有相同的方法名。
3.多个方法的参数不相同,类型不同或者数量不同。

方法重载举例

(1)参数数量不同:

public class text1 {
    public static void main(String[] args) {
        show(10);
        show(10,11);
    }
    public static void show(int a){
        System.out.println(a);
    }
    public static void show(int a ,int b){
        System.out.println(a + " " + b);
    }
}

结果

    10
    10 11

(2)参数类型不同:

public class text1 {
    public static void main(String[] args) {
        show(10);
        show('a');
    }
    public static void show(int a){
        System.out.println(a);
    }
    public static void show(char a){
        System.out.println(a);
    }
}

结果

  10
  a

(3)参数的数据类型不同

public class text1 {
    public static void main(String[] args) {
        show('a',10);
        show(10,'a');
    }
    public static void show(int b,char a){
        System.out.println(b + " " + a);
    }
    public static void show(char a,int b){
        System.out.println(a + " " + b);
    }
}
 a 10
 10 a

判断是否是重载:

  重载跟方法的  权限修饰符,返回值类型,形参变量名,方法体    都无关

 只看-->同名,不同参数个数或不同参数类型或不同参数顺序

重载的作用:

①多个方法用同一个名字,调用的时候,无需记住那么多的方法名

②对程序员而言,调用时直接根据所需自动匹配方法,减少了写方法名的重复步骤

Java构造器(构造方法)简介

什么是构造器

构造器通常也叫构造方法、构造函数,构造器在每个项目中几乎无处不在。当你new一个对象时,就会调用构造器。构造器格式如下:

[修饰符,比如public] 类名 (参数列表,可以没有参数){ //这里不能有return}

Java构造器
构造器的注意事项:

构造器的名称必须和类名一致
一个类中可以定义多个构造器,但是构造器的参数列表必须不同(重载)
如果我们没有手动定义构造器,则Java系统会提供一个默认的构造器给我们使用,一旦我们定义了构造器,则系统会把默认的构造器收回
构造器的作用:实例化对象,给对象赋初始值
代码游离块优先执行

怎么定义构造器

构造方法的名字必须和所在类的名字一致,没有返回值,但不能声明void,访问权限可以为任意,但是一般情况下使用public方法权限,构造方法中的参数可以根据需要自行定义,参数的不同的构造方法构成重载

  class Fu {
     public Fu(){} //无参的公有构造方法
     public Fu(int i){} //参数类型为int的公有构造方法
   ......
   }


   public class Demo extends Fu {
     public Demo(){} //无参的公有构造方法
     public Demo(int i){} //参数类型为int的公有构造方法
     public Demo(int i,double d){} //参数类型为int和double的公有构造方法
     ...
   }