JAVA的构造方法是什么

本文介绍了JAVA构造方法的基本概念和作用,强调了构造方法在对象初始化中的重要性。当自定义了带参数的构造方法后,系统不再提供默认无参构造器,导致无法使用无参数实例化对象。解决办法是手动添加无参构造方法。此外,还讨论了构造方法之间的相互调用以及构造方法的特性,包括名称与类名相同、无返回值、自动执行等。
摘要由CSDN通过智能技术生成

JAVA构造方法
1.在JAVA语言中,构造方法也叫做构造器,它是一种比较特殊的方法,主要用于创建实例(也就是对象)的时候进行初始化操作。

Person p=new Person();

这里的Person就是一个构造方法,构造方法是默认不可见的。
在没有手动定义构造方法的时候,采用的是系统为操作类提供的一个无参数的默认的构造方式(这就是为什么new一个对象后面要加上()的原因就是要调用系统默认的无参的构造方法),它的形式就是public 类名()[]。

class Box{  //构造方法没有返回值
    /*
    定义了一个构造方法,对Box进行了初始化
    */
    public int width;
    public int height;
    /*
    定义了一个带有参数的构造方法,用于接受外界传来的初始化参数

    */
    public Box(int width,int height){
        this.height=height;
        this.width=width;
    }

然后我们new一个对象给构造方法传值

 public static void main(String[] args) {
        Box ar=new Box(10,20);
        System.out.println("width="+ ar.width);
        System.out.println("height"+ ar.height);

输出的结果为
在这里插入图片描述

此时我们又想new一个新的对象,结果发现系统提示报错
在这里插入图片描述
为什么会这样???
在这里插入图片描述
那是因为在没有定义构造方法之前,这种方法是可以被使用的。但是此时已经定义了一个带有参数列表的构造方法,然后这种方法不适用了。在java语言中,一旦我们自己已经添加了类的构造方法,java就不会在添加默认的无参数的构造方法了,所以上述情况会报错。
解决办法是什么???
自己手动添加一个无参的构造方法,此时自己定义的构造方法就等同与系统默认自带的构造方法,只是在自己创建这个构造方法之前,系统默认的构造方法是不可见的,而且用户自己创建了这个构造方法之后系统默认的无参的构造方法就失效了
在这里插入图片描述
在这里插入图片描述
这里就不会报错啦!

在这里插入图片描述
同时构造方法之间也可以调用

public Box(int width){
        this.height=height;

    }

    public Box(int width,int height){
        this(height);
        this.width=width;
    }

如上,如果一个构造方法包含另一个构造方法的时候,之间是可以被互相调用的,同时使用this关键字去调用另一个构造方法的时候,被构造的方法必须放在此方法的第一行。
构造方法有哪些特性?
1.名字与类名相同;
2.没有返回值,但不能用void声明构造函数;
3.生成类的对象是自动执行,无需调用;
4.建议将构造方法的访问修饰用public修饰,同时建议保留原保留默认构造方法的写法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值