在JAVA中能给方法参数赋默认值吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在JAVA中能给方法参数赋默认值吗相关的知识,希望对你有一定的参考价值。
不能设置默认参数。因为“默认参数”和“方法重载”同时支持的话有二义性的问题,Java可能为了简单就不要“默认参数”了。
使用“方法重载”可以间接实现”默认参数“的效果,而且避免了代码过于hack。
比如重载方式间接实现:
public class A
public void doA(int a)
public void doA()
this.doA(0);//这里默认传入0,可以近似与通过这个方法重载,实现了默认值
参考技术A 当然可以了
从头学Java——之重载及构造方法
1.方法的重载:实现相同功能使用相同方法名;
2.构造方法:
作用:定义对象时给对象的各个属性赋初值;
特点:
(1)构造方法名与类名相同;没有返回值和返回类型;
(2)给对象属性赋初值时,是通过参数传递实现;
(3)构造方法是在创造对象时,跟在new后面执行,不能通过对象或者类来调用构造方法;
(4)如果定义类时既给字段进行了赋初值, 也有构造方法, 在创建对象时是先给成员变量赋初值,再执行构造方法的方法体;
(5)如果程序员没有定义构造方法,系统会默认一个无参数的构造方法;
(6)当程序员定义了构造方法之后,系统默认的无参构造就不存在了;
(7)构造方法可以根据参数实现重载;
3.构造代码块:一般相同的初始化操作放在构造代码块中;在new一个对象时,先执行构造代码块,再执行构造方法中的方法体;
4. 对象可以作为方法的形参,在方法中,修改了形参对象的属性值 ,实际上就是修改了实参对象的属性值;
而给形参变量重新赋值如car = new Car("red",...); 是不会改变实参对象的属性值的;所以说形参与实参是相互独立的;如图:
以上是关于在JAVA中能给方法参数赋默认值吗的主要内容,如果未能解决你的问题,请参考以下文章