构造方法与方法重载(Overload)

java的构造方法与方法重载

public class Person {

    String name; //用于描述姓名的成员变量
    int age;     //用于描述年龄的成员变量

    //自定义无参的构造方法
    Person(){ //构造方法的方法名称与类名完全一致

    }

    //自定有有参的构造方法,能够接受姓名和年龄作为实参
    Person(String s,int i){ //构造方法的方法名称与类名完全一致
        name = s;
        age = i;
    }

    //自定义成员方法实现姓名和年龄的打印
    void show(){
        System.out.println("我是"+name+",今年"+age+"岁了!");
    }
    //自定义成员方法实现参数传入姓名的打印
    void show(String s){
        System.out.println("传入的姓名是:" + s);
    }

    public static void main(String[] args) { //main()方法
        //创建Person类型的对象并使用引用变量进行记录
        Person p = new Person();
        //当调用一个方法时,根据方法名跳转过去执行方法体语句,执行完毕跳转回来
        //如:调用show()方法
        p.show(); //null 0

        //表示又创建了一个对象,并将地址记录到p2中
        Person p2 = new Person("张飞",30);
        p2.show(); //张飞 30 
        p2.show("关羽"); //传入的姓名是:关羽
    }

}

a)、构造方法的方法名称与类名完全一致,以至于大小写都一模一样。
b)、构造方法没有返回值,连void都没有。
c)、当创建一个新的对象的时,会自动调用构造方法来进行该对象中成员变量的初始化工作。

默认构造方法
当自定义类总没有声明任何形式的构造方法时,编译器则会自动添加一个无参的空构造方法。叫做默认构造方法。
但是类中如果自定义了构造方法,编译器就不再会提供任何形式的构造方法。


方法的重载
在同一个类中,方法名相同参数列表不同的方法之间构成重载关系(OVERLOAD)。

public class TestOverload {

    void show(){
        System.out.println("show()");
    }


    void show(int i){       //可以构成重载,体现在参数的个数不同
        System.out.println("show(int)");
    }

    void show(double d){     //可以构成重载,体现在参数的类型不同
        System.out.println("show(double)");
    }

    void show(int i,double d){
        System.out.println("show(int, double)");
    }

    void show(double d,int i){ //可以重载体,体现在参数的顺序不同
        System.out.println("show(double, int)");
    }

    public static void main(String[] args) {

        TestOverload to = new TestOverload();

        to.show();
        to.show(33);
        to.show(0.25);
        to.show(66,0.25);
        to.show(3.14,33);

    }
}

方法重载的主要形式有:

  • 参数的个数不同
  • 参数的类型不同
  • 参数的顺序不同

与形参变量名和返回值类型无关,但是建议返回值类型最好相同。

判断方法是否重载的方法:判断调用方法能不能加以区分。

方法重载的意义(作用)在于:
调用者只需要记住一个方法名就可以调用各种不同的版本,从而实现多种类型数据的处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值