java的构造函数可以重载吗?java构造函数重载例子

TheDisguiser 2020-06-25 16:09:32 java常见问答 6199

小伙伴们知道构造函数吧,那你们知道构造函数是否能重载吗?这次让我们来详细了解一下构造函数和重载吧。

------------------构造---------------------

什么是构造方法:

1、是个方法

2、在创建对象时,由new这个关键字自动调用,将属性初始化

3、类中没写构造,java提供一个默认的无参构造,如果你写了,就以你写为准,默认的无参构造会消失。改写的构造方法如果有参数,那么在new 时也要提供参数

构造方法的语法:

public 类名(){

}

1、跟类同名

2、没有返回类型

构造与一般函数的区别:

1、写法上不同

构造函数没有返回值,方法名必须与类名相同

2、运行上也不同

构造函数是在对象一建立时(new)就运行,给对象初始化

一般方法是对象调用时才执行,是给对象添加具体的功能

3、执行次数不同

一个对象建立,构造函数只会执行一次;而一般方法可以调用多次

构造和set的区别

1、构造不能手动调用,只能在new对象的时候由系统自动调用一次;set方法能手动调用多次

2、构造能一次为多个属性赋值,但set方法只能一次为一个属性复制

3、构造只能用一次,一旦为属性赋值之后再需要修改属性的时候,只能找set帮忙了

4、一般情况下,既需要一下为多个属性赋值,有需要灵活的修改属性,就把构造和set都写上

-------------------------重载overload------------------------

1、什么是方法重载

同一个人的同一个行为,如果给的东西(参数)不同,就会产生不同的结果,如:

乞丐张三

讨钱() {你是个铁公鸡,一毛不拔}

讨钱(10){你是个好人}

讨钱(10,"苹果"){你是在世的救星}

2、重载的好处

不用起名字

调用更方便(不用考虑记名字,只要传参数就可以)

3、方法重载的三大原则

a.方法同名

b.参数不一样

参数的个数不一样

参数的类型不一样

参数的顺序不一样(顺序不用的参数要求类型不一样。虽然理论上可以,但一般不用)

c.同一个类

注意:返回类型和重载无关

4、什么时候用重载

重载一般用在构造上面,普通方法也可以用

5、示例

public class TestMethod
{
    int a;
    float f;
    public TestMethod()
    { //构造方法初始化
        a = 10;
        f = 1.0 f;
    }
    public TestMethod(int a, float f)
    { //构造方法带参的重载
        this.a = a;
        this.f = f;
    }
    public void method(int b, float x)
    { //普通方法
        //do something……
    }
    public void method(int m, int n, float y)
    { //普通方法的重载
        //do something……
    }
    public static void main(String args[])
    {
        //主方法测试
    }
}

以上就是关于构造函数和重载的所有内容,更多相关常见问题可以关注本网站了解详情。

推荐阅读:

java函数调用另一个函数怎么调用?java函数调用方式方法

java函数格式该怎么定义?自定义函数练习示例

java函数知识都有哪些?java函数大全