发布网友 发布时间:2022-04-22 06:58
共4个回答
热心网友 时间:2022-06-17 02:03
对象和基本数据类型一样也是一种数据类型啊,他叫引用数据类型,你就理解成诸多基本数据类型和方法的集合体就可以了,基本数据类型可以作为参数,对象也是可以的啊,举个栗子
类定义:
class User{
private String username;
public User(String username){
this.username=username;
}
public User(){}
public String getUsername(){
return this.username;
}
public void setUsername(String username){
this.username=username;
}
}
方法定义:
public void aa(User user){
System.out.println(user.getUsername());
}
方法调用
aa(new User("张三"));
结果打印出张三
热心网友 时间:2022-06-17 02:03
根据以下几点来理解对象参数:
第一,基本数据类型(int,long,float等)作为参数传递,无论在方法中对该参数如何修改,都不会改变原值,即调用完方法后,值不会改变。
举个例子:
m(int a){
a=3;
}
int a=0;
m(a);
System.out.println(a);
此时,a的值为0,值不会改变。
第二,对象(StringBuilder)作为参数传递时,在方法中对对象的值进行修改,会改变原来对象中的内容。
同样地:
m(StringBuilder s ){
s.append("b");
}
StringBuilder s = new StringBuilder();
s.append("a");
m(s);
System.out.println(s.toString());
此时,打印s的值为 ab,对象内容由 “a”变成 “ab”。
热心网友 时间:2022-06-17 02:04
对象作为参数,传递过去的就是一个引用,形参接收到参数后,就指向了这个对象,此时,形参和实参都指向了同一个对象,所以,在方法体内操作形参,这个对象也会被改变。。。。。
热心网友 时间:2022-06-17 02:04
这个和是用基本类型作为参数一样,基本类型和自定义类型都是java合法的类型
例如
public void demo(int a){
}
自定义class
public class Demo{
}
public void demo(Demo demo){
}
只是把java基本类型换成自定义类型而已.