构造函数 ,也即构造方法(本文中我们称之为“构造方法”),是一种特殊的函数或是方法 。主要是用来在创建类对象时初始化类的对照滠跋诵象, 即为对象成员变量赋初始值,结合new运算符一起使用 。通常地,一个类可以有多个构造方法 ,可根据不同的需求来设计类中不同的构造方法。其中,参数个数,类型,甚至不同类型参数的顺序等的的不同均为构造方法的重载。
工具/原料
一个再正常不过的已经配置了java环境的本子
勤于思考的脑子
适合自己的开发集成环境,我这里用的是eclipse Kepler
如何实现不同的重载
1、首先,我们先写一个完整的例子。这是一个最原始的构造方法,如图。以后各个步骤我们陆续进行改造,逐层深入地重写这个构造方法。
2、访问修饰符,访问权限修饰符对构造方法的重载不影响。所以ta们不是构成不同构造方法的必要条件。通俗点讲,构造方法的不同和访问修饰符是否一致没有任何关系。如图,如果访问修饰符不一致,而参数相同(或者都没有参数)的话,java默认其都为同一种构造方法,因此编译无法通过,报错。
3、排除了访问修饰符之后,由于构造方法没有返回值,接下来唯一可以区别的就是参数了。我们分情况来练习。第一种,不同的参数,没错,不同的参数一定就是不同的构造方法了,我们可以一试,如图:
4、上一步骤我们说的是不同的参数,这里的不同并不是对参数的命名的不同,而是指参数类型的不同,如果心有怀疑,最简单的办法就是,写出来让事实说话。如图,参数类型相同,都为整数类型,编译无法通过。
5、接下来,还有因参数个数不同而造成的重载。我们可以参看下面的例子,如图:
6、还有,重点讲一下,还有没有其他类型的不同的重载呢?有的!想象一下,参数种类不同,个数相同,有什么办法是之变得不一样吗?对的!妳猜对了!是顺序不同!顺序不同的情况下,依旧是不同的构造方法,这也就实现重载了。如图:
7、这里,我们总结一下,飒劐土懿重载不外乎就是参数么,有参无参,参数类型不同,参数数量不同,不同类型的参数顺序不同,都可以实现构造方法的重载。最后,为自己写一个测试用的颖蓟段扛例子,来验证自己的想法,巩固自己知识点的学习。多次这样练习,相信妳一定会更上一层楼的!努力吧,美少女战士!多多练习!加油!