![java中为什么要有构造方法?,第1张 java中为什么要有构造方法?,第1张](/aiimages/java%E4%B8%AD%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81%E6%9C%89%E6%9E%84%E9%80%A0%E6%96%B9%E6%B3%95%EF%BC%9F.png)
一个
对象被创建出来时,经常要先做一些事这个对象才能正常使用,也可以说是准备工作,比如给这个对象赋些初始值,或者先运行一些别的
方法。\x0d\x0a把那些在创建时要做的事写在
构造方法里,每次创建就会被执行一遍。\x0d\x0a\x0d\x0a就你描述的情况,默认构造方法其实就什么都没做啊,但是会有对象创建的时候就要赋值一些成员变量的情况,这种就要自定义构造方法,重载啊。可能你会说为什么非得要构造的时候就赋值呢,不能对象创建出来,set成员变量就得了。原因:1是麻烦。2是会有很多人创建了对象,忘记了set某些成员变量,然后直接去调用对象的别的方法,这时可能就会由于对象未赋值而抛出异常。重载构造方法可以让你的类以不同的方式初始化,更加灵活易用。
比如你定义了一个四边形的类class Quattro
你可以仅仅定义一个构造函数:Quattro(double length, double height)
但是如果四边形是一个正方形的话,那么初始化的时候仍要写全两个参数
Quattro a = new Quattro(10, 10)
此时你定义一个新的构造函数:Quattro(double length)
就可以
Quattro a = new Quattro(10)了
当然这是一个非常简单的例子,你去看一看Java的API,所有的类都有重载的构造函数
评论列表(0条)