Java 构造方法详解

发布于 2022-04-02  95 次阅读


构造方法,就是以public开头,然后跟上类名+( )的一行语句,也就是在new 一个对象时,所调用的方法。

无参构造:即括号内没有参数,就是无参构造方法,如此题中的public Rectangle()

有参构造:即括号内有参数,就是参构造方法,如此题中的public Rectangle(double a,double b)

有参构造有什么用

在实例化(new)一个对象的时候,赋予类中参数初始值

程序如何判断我new的时候使用的是哪一个构造方法?

在new一个对象的时候,如括号内无参数,就是调用无参构造,若加了参数,则会去调用对应的有参构造

我有多个有参构造,程序如何判断我用的是哪一个有参构造?

这里使用一个我定义的Test类来做演示

class Test {
    private int a;
    private boolean b;‬‌‌‌‌‌‌‍‌‬‍‌‌‌‌‌
    private String c;
    public Test(){System.out.println("我是无参构造");}
    public Test(int a) {System.out.println("我是有参构造一");}
    public Test(boolean b) {System.out.println("我是有参构造二");}
    public Test(String c) {System.out.println("我是有参构造三");}
}

下方为 实例化对象时的代码 及 对应的输出

Test test=new Test(); 
我是无参构造
Test test=new Test(1);
我是有参构造一
Test test=new Test(true);
我是有参构造二
Test test=new Test("字符串");
我是有参构造三

由此可见,使用哪一个构造方法,是根据你提供的参数类型,去和类中已有的有参构造匹配,使用类型一一对应的有参构造。如果提交了过多的参数,则会报错!