Java 方法和方法重载

Java 方法和方法重载

一、无参构造

每创建一个类,系统会自动给这个类添加一个无参构造方法,并且是隐藏的
(1)构造方法是用来创建对象的
(2)构造方法的名称与类名相同
(3)构造方法没有返回值,void也不写
(4)当你在类中自定义了其它有参构造方法后,默认的无参构造方法会被覆盖,如果你还需要使用无参构造方法,就需要自己手动添加一个无参构造方法

public class HelloWorld {
	public static void main(String[] args) {
        System.out.println("hello world");
    }
}

反编译:

import java.io.PrintStream;

public class HelloWorld
{

    public HelloWorld()
    {
    }

    public static void main(String args[])
    {
        System.out.println("hello world");
    }
}

可以发现java在编译时,会自动加上隐藏的无参构造方法。

二、有参构造

public class Person {
	//定义属性
	String name;
	int age;
	char gender;
	double height;
	double weight;
	String phoneNumber;
	String address;
	String hobby;
	String country;
	String job;
	String email;
	
    //定义一个有参构造方法
    public Person(String name,int age,char gender,double height,double weight,String phoneNumber,String address,String hobby,String country,String job,String email){
        //this表示当前对象。一会谁调用此构造 方法创建对象,this就表示创建的这个对象
        this.name = name;
        this.age = age;
        this.gender =gender;
        this.height = height;
        this.weight = weight;
        this.phoneNumber=phoneNumber;
        this.address = address;
        this.hobby = hobby;
        this.country = country;
        this.job = job;
        this.email = email;
    }
    
    // 定义有参构造后,系统默认赠送的无参构造会被替代,需根据需求重写一遍无参构造(一般写了有参构造后都要补上无参构造)
    public Person() {}
    
}

三、方法重载

1. 定义

方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数类型或参数个数。

public class NumSum{
    public int sum(int a,int b) {
        return a + b;
    }
    public int sum(int a,int b,int c) {
        return a + b + c;
    }
    public double sum(double a, double b) {
        return a + b;
    }
    public double sum(int a ,double b) {
        return a + b;
    }
    public double sum(double a, int b) {
        return a + b;
    }
}

2. 特点

① 在同一个类中。

② 方法名相同。

③ 参数列表不同(参数顺序、参数类型、参数个数不同)。

④ 方法的返回值不能作为判断方法之间是否构成重载的依据(与方法的返回类型和访问修饰符无关)。

3. 调用

通过对象直接调用并传递参数,系统会根据参数类型自动匹配相应的方法。

public class NumSumTest{
    NumSum numSum = new numSum();
    int sum1 = numSum.sum(1, 2);
    int sum2 = numSum.sum(1, 2, 3);
    double sum3 = numSum.sum(1.0, 2.0);
    double sum3 = numSum.sum(1, 2.0);
    double sum3 = numSum.sum(1.0, 2);
}

4.优点

方法重载其实是对原有方法的一种升级,可以根据参数的不同,采用不同的实现方法,而且不需要编写多个名称,简化了类调用方法的代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Glensea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值