java参数
㈠ java中参数变量具体是什么,可以干什么,有什么作用,
参数变量就是一个函数要被调用时候,传进去的那个东西,也叫 形参
留一个可以变化的东西给别人可以根据需要使用,
在JAVA中 参数变量有传值和传引用两种,基本上都是传引用
㈡ Java带参数的方法
是青鸟的学生吧,
参数方法很简单的,
调用方法的时候,参数要与定义方法传进的参数一致,返回值的类型要一致,
在方法之中用到这个参数就不需要再定义了,
方法可以有参数也可以没有。
想得到一个结果的话,用有返回类型的方法,
只想要过程的话,用VOID类型,
学校有很多人都蛮强,你可以直接请教他们,那样不是更好懂?
㈢ java参数是什么
形参,实参
㈣ java 方法可以传入多少个参数
java的方法可以动态传入参数,比如methodA(String... values),它相当于传进入一个values的数组,因此在你的内存支持的情况下,参数个数可以是无限个的。
㈤ java 参数中含有… 是什么意思啊
main方法的签名其实可以这样写:
public static void main(String... args)//方法1
它也可以运行.
并且,如果同时还存在
public static void main(String[] args)//方法2
会报已经存在重复的方法的错误.
由此可见,String... args跟String[] args对于虚拟机来说其实是一回事.
而且,在方法内,通过...传进来的参数的使用方法也跟一个数组完全无二,可以for循环,甚至可以直接转换:
public static void main(String... args)
{
String[] ss=args;
}
但对于程序员来说却还是有差别的.
1.调用
我们只能这样调用方法2:
main(new String[]{});
即,方法2只能接受String数组做参数.
而我们陌生的方法1可强了,用以下参数调用,照单全收:
main();
main(null);
main(null,null);
main(null,null,null);
......
main("a");
main("a","b");
main("a","b","c");
......
main(new String[]{});
(String...匹配String*,而null也可以是一个特殊的String)
2.参数位置
使用...的参数只能是最后一个参数.不然谁知道你调用的时候,点点点匹配到哪个实参?
public static void main(String[] args,int index)//可以
public static void main(String... args,int index)//不行!
3.重载
假设有以下两个方法:
public static void main(String... args)//方法1
public static void main(String a,String... args)//方法3
从语法上来看,这个重载完全没有错误,eclipse也没有报错.但是当调用时使用的参数个数大于这些方法中点点点参数前面的参数个数时,eclipse就会发现这个错误了.很拗口是不是?嘿嘿~还是举例来说吧.以上这两个方法,如果调用时
main();
编译器会认出这个调用的是方法1.但是如果调用时
main("");
编译器就疯了...因为一个String参数,既符合方法1的点点点,也符合方法3的String+点点点,编译器就不知道调用的是哪个方法了.
String[]参数不会有这种问题.
所以重载时要注意,如果点点点参数前面有跟它类型相同的参数...最好的方法,似乎就是换回数组形式了,要么就给方法改个名字吧.
4.遇上泛型加外包
用个实例来说
java.util.Arrays是个工具类,所有方法都是静态的,对数组的操作.里面有个方法asList(T... args),用来把类型T的数组转化成List<T>.
这是个很有用的方法,在绝大多数情况下都能如你所愿.
但是,你可以试试下面的写法
int[] is=...//自定义的数组,或者从什么地方获取来的数组
List<Integer> list=Arrays.asList(is);
很不幸,不要说执行,编译都通不过.错误的意思大概是:
不能将List<int[]>转化成List<Integer>
明白了吧?
你的设想是,把int[]中的每一个元素对应T...中的每一个点,
可编译器不这么想.因为int是原始类型,不是Object的子类.而泛型T隐含的条件是T extends Object.所以编译器不会把每一个int看做T,不会把int[]看做T点点点.虽然java已经支持自动将原始类型封包成外包类,但那是单个的情况.
而数组(不管什么类型)则是一种特殊的类型,是Object的子类,所以编译器觉得整个int[]对应一个T,你调用的方法是asList<int[]>(int[]... args)而不是你想象中的asList<Integer>(Integer...)
㈥ java 定义可选参数
当然可以,不过当你调用A方法的时候,传入的参数一定要和A方法中的参数个数以及类型相同即可……
在java中是不可以像你说的那样的……
不然会报找不到该方法的错误……
㈦ java里参数的作用
设置了这个参数,那么你调用它的时候就可以传递进去,像你给的例子中s.speek("i
am
a
student");中i
am
a
student就是传过去的参数,好比string
sentence
=
"i
am
a
student";
㈧ java 方法参数的问题
通俗点说:小括号内的参数是在调用这个方法时,需要给这个方法传入的参数,用于给此方调用.比如说,有些方法是需要调用者传参,方法才能对参数进行操作!
㈨ 请问什么是Java中的参数。
首先你得知道什么是方法吧,要是这个不懂,那下面我说的估计你也不会明白了,就直接无视吧。
例如我自己写一个方法,比如说这个方法属于test类,像这样
public static void myMethod(String str) {
System.out.println(str);
}
在我调用这个方法的时候,我就需要传递一个参数给这个方法,比如这样。
test.myMethod("let's do it");
那么这个"let's do it"就是参数,如果你想要用myMethod这个方法,必须要给一个string型的参数,不然编译器就不会让你通过,你的代码会报错的。参数作用无非是将你需要用的东西传递给方法,在方法里面处理这个参数,比如说你要输出,或者要在方法里面做四则运算等等。
这个问题其实不好说,因为实在是很简单,但是要说明这个问题就会引出一大堆问题,什么是方法,什么是类,static是什么,void是干啥的,这玩意我解释不起,我只能尽我所能简单说说。如果你要真想学java,先找本书看看吧,我觉得你可能没看过哪怕是一本java基础的书,要不然也不会问这个问题。
㈩ java方法参数
楼上说得不对,Integer 继承 java.lang.Number , Number 实现了 java.io.Serializable
范性的问题 Class<Object> 你传入的只能是 Object.class
把接口方法改成
public Object findByPrimarykey(Class<? extends Object> objectClass, Serializable pk);
或者
public Object findByPrimarykey(Class<?> objectClass, Serializable pk);