小伙伴们知道构造函数吧,那你们知道构造函数是否能重载吗?这次让我们来详细了解一下构造函数和重载吧。
------------------构造---------------------
什么是构造方法:
1、是个方法
2、在创建对象时,由new这个关键字自动调用,将属性初始化
3、类中没写构造,java提供一个默认的无参构造,如果你写了,就以你写为准,默认的无参构造会消失。改写的构造方法如果有参数,那么在new 时也要提供参数
构造方法的语法:
public 类名(){
}
1、跟类同名
2、没有返回类型
构造与一般函数的区别:
1、写法上不同
构造函数没有返回值,方法名必须与类名相同
2、运行上也不同
构造函数是在对象一建立时(new)就运行,给对象初始化
一般方法是对象调用时才执行,是给对象添加具体的功能
3、执行次数不同
一个对象建立,构造函数只会执行一次;而一般方法可以调用多次
构造和set的区别
1、构造不能手动调用,只能在new对象的时候由系统自动调用一次;set方法能手动调用多次
2、构造能一次为多个属性赋值,但set方法只能一次为一个属性复制
3、构造只能用一次,一旦为属性赋值之后再需要修改属性的时候,只能找set帮忙了
4、一般情况下,既需要一下为多个属性赋值,有需要灵活的修改属性,就把构造和set都写上
-------------------------重载overload------------------------
1、什么是方法重载
同一个人的同一个行为,如果给的东西(参数)不同,就会产生不同的结果,如:
乞丐张三
讨钱() {你是个铁公鸡,一毛不拔}
讨钱(10){你是个好人}
讨钱(10,"苹果"){你是在世的救星}
2、重载的好处
不用起名字
调用更方便(不用考虑记名字,只要传参数就可以)
3、方法重载的三大原则
a.方法同名
b.参数不一样
参数的个数不一样
参数的类型不一样
参数的顺序不一样(顺序不用的参数要求类型不一样。虽然理论上可以,但一般不用)
c.同一个类
注意:返回类型和重载无关
4、什么时候用重载
重载一般用在构造上面,普通方法也可以用
5、示例
public class TestMethod { int a; float f; public TestMethod() { //构造方法初始化 a = 10; f = 1.0 f; } public TestMethod(int a, float f) { //构造方法带参的重载 this.a = a; this.f = f; } public void method(int b, float x) { //普通方法 //do something…… } public void method(int m, int n, float y) { //普通方法的重载 //do something…… } public static void main(String args[]) { //主方法测试 } }
以上就是关于构造函数和重载的所有内容,更多相关常见问题可以关注本网站了解详情。
推荐阅读: