Java函数(方法)的默认值问题

Java不能为函数(方法)设置默认参数。

原因是“默认参数”和“方法重载”同时支持的话有二义性的问题,但使用“方法重载”可以间接地实现”默认参数“的效果,例如:

public class A{
   public void doA(int a){
   }
   public void doA(){
       this.doA(0);//这里默认传入0,可以近似认为通过重载实现了默认值的设置
   }
}

参考:

1)java 能为方法参数设置默认参数吗

原文地址:https://www.cnblogs.com/GjqDream/p/11617488.html

时间: 2024-11-08 09:21:27

Java函数(方法)的默认值问题的相关文章

(转)js函数参数设置默认值

原文:http://www.cnblogs.com/RightDear/archive/2013/06/26/3156652.html js函数参数设置默认值 php有个很方便的用法是在定义函数时可以直接给参数设默认值,如: function simue ($a=1,$b=2){   return $a+$b; } echo simue(); //输出3 echo simue(10); //输出12 echo simue(10,20); //输出30 但js却不能这么定义,如果写function

js 的函数参数的默认值问题

js函数参数设置默认值 php有个很方便的用法是在定义函数时可以直接给参数设默认值,如: function simue ($a=1,$b=2){ return $a+$b; } echo simue(); //输出3 echo simue(10); //输出12 echo simue(10,20); //输出30 但js却不能这么定义,如果写function simue(a=1,b=2){}会提示缺少对象. js函数中有个储存参数的数组arguments ,所有函数获得的参数会被编译器挨个保存到

ES6 函数参数的默认值

基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采取变通的方法. function log(x,y){ y = y||'world'; console.log(x,y); } log('kkk');//kkk world 这种写法的缺点在于: 如果参数y赋值了,但是对应的布尔值为false,则该赋值不起作用.如果在调用函数的时候,传入的y参数是一个空字符串,那么y就会被修改为默认值. 避免这个问题,需要先判断一下:1.通过判断值是否等于undefined,2.判断arguments.

java函数(方法)练习

java函数(方法)练习:A:求两个数据之和B:判断两个数据是否相等C:获取两个数中较大的值D:打印m行n列的星形矩形E:打印nn乘法表 A:程序如下:package function; import java.util.Scanner; public class Sum {public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("数据1:");int x=

函数形参的默认值

ES6之前函数形参的默认值设置 当前一个操作数值为false时,总会返回后一个值.对于函数的命名参数,前一个操作数的值为false时, 总会返回后一个值,对于函数的命名参数,如果不显示传值,则其值默认为undefined,但是这个方法有缺陷 当我们为timeout传入0时,即使这个值为合法的,boolean判断仍为false 在这种情况下,更安全的是使用typeof ES6 函数参数默认值 在这个函数中,只有第一个参数被认为是总要为其传入值的,其他两个参数都有默认值,而且不需要添加任何校验值是否

<Java> 类 方法 参数传递 返回值类

类 用class关键字可以传建一个类. 类中可以设置两种类型的元素:字段(有时被称为数据成员),方法(有时被称为成员函数) 字段  字段即数据成员 字段可以是任何类型的对象(可以是是引用类型,也可以是基本类型) (3) 每个对象都有用来存储其字段的空间,普通字段是不可以在对象间共享的 两个对象都各自有他们自己的字段,虽然字段是同名的,但是这两个对象对这个字段的操作都是对自己的字段的操作,不能操作另一个对象的. 但是static修饰的字段,是在对象内共享的,他只有一份空间,不管是那个对象,对这个字

java函数方法

1.方法重载 (1)源代码 // MethodOverload.java // Using overloaded methods public class MethodOverload { public static void main(String[] args) { System.out.println("The square of integer 7 is " + square(7)); System.out.println("\nThe square of doubl

Java中初始变量默认值

Java语言中有8种基本数据类型,基本情况汇总如下: 序号 数据类型 大小/位 封装类 默认值 可表示数据范围 1 byte(位) 8 Byte 0 -128~127 2 short(短整数) 16 Short 0 -32768~32767 3 int(整数) 32 Integer 0 -2147483648~2147483647 4 long(长整数) 64 Long 0L -9223372036854775808~9223372036854775807 5 float(单精度) 32 Flo

js方法参数默认值设置

这里的默认值设置 很容易以为和php相似 function(v1,v2="test") { alert(v2); } 但这样是不对的,js方法,如需传参,甚至可以不用预定义(也就是无需在定义函数的括号中写入参数名称),js函数中有个储存参数的数组arguments ,所有函数获得的参数会被编译器挨个保存到这个数组中.如下: function testArg(){ //遍历1 for(var i=0;i<arguments.length;i++){ alert("遍历1:

php与js中函数参数的默认值设置

php函数参数默认值设置: <?phpfunction test($val=3){   echo $val."<br/>";}test(11);test();?> javascript函数参数默认值设置function test(){alert("test函数");} function test2(val,func){ val=val||"";//利用js中的或操作,第一个参数值为false(为空)时返回第二个参数的值.第