在Java中结构化的方法是一种特殊的方法。新手如果我想说完,恐怕不可能。
我就说说我自己的理解吧,抛砖引玉,有遗漏或错误的请大家指正!
构造方法一般说法是用来对new出来的对象进行初始化的,也是类的方法,不过他比较特殊。为什么用构造函数,我举个例子说下
有没有发现,我每new个新对象都要给他赋值,麻烦不说,指不定什么时候忘了呢。而且,如果把变量设成private,我还不能访问。下面在用构造方法走一个:
用构造方法就不一样,我只要在new新对象的时候传两参数,它自动就把变量赋值了,也有利于类的封装,我这里的两个变量可都是private哦!
它有几个特征:
1、方法名和类名必须是一样的;
2、构造方法没有返回值;
3、在new一个新对象时,构造函数自动执行;
举例说明,Dog类中我建了三个方法,在主函数中new出dog时,没有调用任何方法,但是第一个Dog()函数执行了。是不是实例对象时自动执行的啊!那么第二个函数为什么没有执行呢,因为它带了返回值。系统自动把他归类到普通方法里去了,要执行它必须向普通方法一样调用。(这里说下void,很多教材说它指没有返回值。但void的没有返回值和构造方法的是不一样的,我一般把void理解为该方法不需要返回值,而构造方法是没有返回值。)
4、一个类可以有多个构造方法;
说是多个,主要体现在所传参数上,两个完全一模一样的是不允许的。
两个构造方法,参数不一样,new新对象时,系统会根据你传的参数选择调用哪个方法。当然你在new新对象是传参数就不能乱传了,必须和某个构造方法中的类型、数量一致。
5、每个函数都有一个默认的构造方法;
这个就不知道怎么演示了,上两张截图,大家对比下:
new对象是出错了,因为和构造方法参数不一样嘛!
我把自己写的构造方法删了,反而通过了。一般认为,你写了自己的构造方法,会覆盖掉默认的所以第一个通不过,删掉自己的,系统调用默认的,第二个通过了!
构造方法的优先级是很高的,一旦创建对象,就会立刻执行。但是昨天补充的那个static代码块比它的优先级还高,还在它之前执行,这里就不演示了。
构造方法既然还是方法,就还是可以用访问控制修饰符来修饰的,我一般都用public的。另外如果用private修饰的话,在类外部创建对象时不能初始化,只能由类的内部实例化,形成单例模式。这个比较少见,我没见过,就不说了!
1.文章《java 什么是构造方法—java构造方法有什么用…》援引自互联网,为网友投稿收集整理,仅供学习和研究使用,内容仅代表作者本人观点,与本网站无关,侵删请点击页脚联系方式。
2.文章《java 什么是构造方法—java构造方法有什么用…》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
相关推荐
- . 现代买票为什么带上携程保险
- . 潮阳怎么去广州南站
- . 湖南马拉河怎么样
- . 烧纸为什么到三岔路口
- . 百色为什么这么热
- . 神州租车怎么样
- . 芜湖方特哪个适合儿童
- . 护肤品保养液是什么类目
- . 早晚的护肤保养有哪些项目
- . 女孩护肤品怎么保养的最好