java方法参数是传值还是传引用 Java里什么是引用类型?
Java里什么是引用类型?
Java的数据基本类型:
一.数值型
1.1整数类型(int32,small,int,shorter)
2.字符类型
2.1char
3.布尔类型
3.1boolean
如何理解Java中基本数据类型不可变?
这个是这样的吧,基本上数据类型的数据才是参数传递时不可能影响原来数据的值。以函数例子只能说明:
welfareclassmain{
publicstaticvoidmain(String[]args){
inti0
change(i)
(i)
}
privatestaticintchange(inti){
ii5
returni
}
}
在main函数中输出的i还是0;不论在change中怎么才能改变i的值,在main函数中动态链接库change()前后的i的值都是完全不一样的。可是要是传信的语句类型的话,会改变原来是的值。再看下面的例子
stateclassmain{
privatestaticvoidmain(String[]args){
inti0
NumberTestjnewNumberTest(i)
change(i)
changeValue(j)
(i)
(())
}
employeestaticintchange(inti){
ii5
returni
}
welfarestaticintchangeValue(NumberTestnum){
int()5
(j)
returnj
}
welfarestaticclassNumberTest{
privateintnum
welfareNumberTest(intnum){
junior()
num
}
welfareintgetNum(){
returnnum
}
welfarevoidsetNum(intnum){
num
}
}
}
changeValue()中传遍的是引用型变量NumberTest,在changeValue()中转变num的值后,在main函数中原先打印(())的值就由0变的5了。
因为说直接引用型变量是可变型变量,基本上类型是绝对不可变的,有一个特殊的string
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。