java带参数
① java怎样定义一个有返回值一个参数的方法
java中定义一个有返回值有参数的方法只需编写方法的返回值类型、方法名、参数的类型以及参数名即可。具体事例代码如下:
int a(int x){//定义一个有返回值为int,参数类型为int,方法名为a的方法
return x;//返回一个int型的值
}
其中,方法的返回值类型有整型(int),布尔型(boolean),字符串型(衫尺String),字符型(char)等多种类型。方法中有有返回值的一定要记得写上return返回拿乎一个与方法的消塌悉返回值类型一致的值。
② java的类型参数是什么意思
应该是泛型中提到的一个概念,<T> 表示传入任意参数,在给一个泛型类初始化的时候我们要给它传入具体的值,一般是一个类型,如String,Integer或空裤弯者是一个java bean类型的数据,这时候,String是作为一个参数传过去的,但它表示的是一个字符串类型,也就是传入了String类型的参数。此时String就是一个参数,一个类型参数。如List<string>纯和 testList = new List<string>(); 一个泛型数组,我们要规定该list中只能传入字符串怎么办,这时就给他传入一个String类型参数,只要传入斗闷其他类型就会在编译期报错,这也是泛型的一个优点。
③ JAVA如何理解带参数的方法呢
这个问题两部分来回答,也就是参数的类型是那种类型,在java里,类型分为基本类型和引用类型两种,这两种做为参数是不同的。1、因为基本类型的值是存在栈,而引用类型需存两个东西,一个是对象的引用,一个是对象,引用放带碧在栈里,对象放在堆里;引用是堆里对象的地址。举个例子:
int t = 12;
String str ="china";
t是基本类型,栈里存的值,就是占4个字节12的补码,如果操作t=4那么t所占4个字节空间的数据就变成了4。而str是一个引用,栈里面存了"china"对象的地址,而"china"这个对象是存在堆里面的,轿腊如果操作str="java",只是把str的引用指向栈里"java"对象,而"china"还是存在栈里的,只是没有了引用而不能访问到"china",当内存不足时,才会把"china"占用的空间回收。
回到主题。
当基本类型做为参数时,如fun(t)的调用是不会把t占有空间的地址给fun方法的,而是在fun方法里在
生成一个t具体值的拷贝,也就是说fun方法里不管如何操作t的拷贝,都不会对t=12造成任何影响。但当引用类型做为参数时,传的是引用,而不会再创建一个传进来的对象,如fun(str),str指向的就
是堆"china",当对str进行操作,就会影响到china对象的内部属性,就造成了"china"对象发生了变化。
其实java里的引用,就是一个内存地址,我们通过引用就能操作这个内存地址里的数据。
如
int[] a = {4};//a[0]=4
int[] b = a;
b[0]=3;//使a[0]=3
a,b指向同一个内存地址,通过a[0],b[0]访问的是同一个闭行滑地址的数据。