如何理解java将对象作为参数

发布网友 发布时间: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基本类型换成自定义类型而已.

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com