更新时间:2020-07-07 16:20:14 来源:极悦 浏览4247次
Java中构造方法是个特殊的方法,初学者如我要想全说透恐怕是不可能的。我就说说我自己的理解吧,抛砖引玉,有遗漏或错误的请大家指正!
构造方法一般说法是用来对new出来的对象进行初始化的,也是类的方法,不过他比较特殊。为什么用构造函数,我举个例子说下
有没有发现,我每new个新对象都要给他赋值,麻烦不说,指不定什么时候忘了呢。而且,如果把变量设成private,我还不能访问。下面在用构造方法走一个:
用构造方法就不一样,我只要在new新对象的时候传两参数,它自动就把变量赋值了,也有利于类的封装,我这里的两个变量可都是private哦!
它有几个特征:
1、方法名和类名必须是一样的;
2、构造方法没有返回值;
3、在new一个新对象时,构造函数自动执行;
举例说明,Dog类中我建了三个方法,在主函数中new出dog时,没有调用任何方法,但是第一个Dog()函数执行了。是不是实例对象时自动执行的啊!那么第二个函数为什么没有执行呢,因为它带了返回值。系统自动把他归类到普通方法里去了,要执行它必须向普通方法一样调用。(这里说下void,很多教材说它指没有返回值。但void的没有返回值和构造方法的是不一样的,我一般把void理解为该方法不需要返回值,而构造方法是没有返回值。)
4、一个类可以有多个构造方法;
说是多个,主要体现在所传参数上,两个完全一模一样的是不允许的。
两个构造方法,参数不一样,new新对象时,系统会根据你传的参数选择调用哪个方法。当然你在new新对象是传参数就不能乱传了,必须和某个构造方法中的类型、数量一致。
5、每个函数都有一个默认的构造方法;
这个就不知道怎么演示了,上两张截图,大家对比下:
new对象是出错了,因为和构造方法参数不一样嘛!
我把自己写的构造方法删了,反而通过了。一般认为,你写了自己的构造方法,会覆盖掉默认的所以第一个通不过,删掉自己的,系统调用默认的,第二个通过了!
构造方法的优先级是很高的,一旦创建对象,就会立刻执行。但是昨天补充的那个static代码块比它的优先级还高,还在它之前执行,这里就不演示了。
以上就是极悦java培训机构的小编针对“Java构造方法有什么用,详细的使用说明”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习