泌尿生殖系彩超查女:Java中的实参与形参
来源:百度文库 编辑:偶看新闻 时间:2024/04/29 17:27:34
Java中形参的传递方式只有一种,那就是值传递(包括数据值与地址值两种,数据值是数据的副本,地址值类似指针),不管参数的类型是基本类型还是类类型。
1)当参数类型是基本类型时,形参获取实参一个副本并传递给方法(修改副本并不影响原本本身)。如下程序所示:
public static void changeInt(int a){
a=100;
}
public static void main(String[] args){
int a=10;
changeInt(a);
System.out.println(a);
}
输出结果当然是10。
2)当参数类型是类类型时,形参获取实参地址(实参实际上就是存储的地址,也就是说它的值就是地址)的一个副本并传递给方法,如下程序所示:
public static void main(String[] args){
Name n=new Name("zhenxing","sun");
changeName(n);
System.out.println(n);
}
public static void changeName(Name n){
n=new Name("yuanyuan","sun");
}
Name类的定义
class Name {
public String firstName;
public String lastName;
public Name(String firstName,String lastName){
this.firstName=firstName;
this.lastName=lastName;
}
public String toString(){
return firstName+"-"+lastName;
}
}
程序的输出是zhenxing-sun,下图分析了程序的执行过程。
1)当参数类型是基本类型时,形参获取实参一个副本并传递给方法(修改副本并不影响原本本身)。如下程序所示:
public static void changeInt(int a){
a=100;
}
public static void main(String[] args){
int a=10;
changeInt(a);
System.out.println(a);
}
输出结果当然是10。
2)当参数类型是类类型时,形参获取实参地址(实参实际上就是存储的地址,也就是说它的值就是地址)的一个副本并传递给方法,如下程序所示:
public static void main(String[] args){
Name n=new Name("zhenxing","sun");
changeName(n);
System.out.println(n);
}
public static void changeName(Name n){
n=new Name("yuanyuan","sun");
}
Name类的定义
class Name {
public String firstName;
public String lastName;
public Name(String firstName,String lastName){
this.firstName=firstName;
this.lastName=lastName;
}
public String toString(){
return firstName+"-"+lastName;
}
}
程序的输出是zhenxing-sun,下图分析了程序的执行过程。
由图中可以看到虽然changeName方法中的n变量指向了新的Name实例,但是main方法中的n变量指向的对象并没有改变,所以最终的输出时zhenxing-sun。
什么是形参,实参~~~~
在c++中怎样区分实参与形参?
C语言形参和实参
形参与实参是什么意思?
请问哪位老师:C语言中形参数组与实参数组有什么区别呢?
C++用函数调用二维数组,形参和实参分别应为什么?
判断:指针变量只可以是函数的形参,不可以为函数的实参
在编C程序中~形参和实参写一样的变量或数组名~有利排错吗?
JAVA中的值传递与引用传递怎么理解
JAVA中的父类与子类(重写)
传值调用对行参的修改,不会影响实参的值,但行参要返回值给实参啊不是还是改了吗
关于java中的equals()
Java 中的一个问题
JAVA中的容器是什么
java中的DCL是什么意思?
java中的DTD是什么?
关于java中的继承?
什么是Java中的对象?
什么是Java中的对象?
java中的servlet问题
舟--java中的继承
java中的一个问题!!!
java中的接口问题
java中的输入问题