java中的实参都能以什么样的方式填写,为什么?

降降降 2020-07-15 03:32:37
为什么 new 对象可以直接作为参数传入?比如把new Person();作为实参传入,java中的实参都可以是什么?
...全文
4887 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
作妖的程序员 2020-07-15
  • 打赏
  • 举报
回复
传入一个new的Person对象 可以使用Person或者Object接收
public void begin(){
    query1(new Person());
}

public query1(Person person){
    query2(person);
}

public query2(Object person){
    Person p = (Person) person;
}
实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。
捏造的信仰 2020-07-15
  • 打赏
  • 举报
回复
参数就是参数,没有什么实参虚参。假如有这么一个方法:
public void hello(Person p) {
}

那么下面的语句是等价的:
//1
hello(new Person());
//2
Person person = new Person();
hello(person);

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧