为了账号安全,请及时绑定邮箱和手机立即绑定

如何让输出值为8.只能在、、、、位置添加,只修改hello函数

如何让输出值为8.只能在、、、、位置添加,只修改hello函数

Qyouu 2018-12-07 02:20:12
import java.io.*;class A{ public int x=10;}class test { public void hell0(A arg) { arg.x=9; arg=new A(); arg.x=8; 、、、、、、、、、、、、、、、 } public static void main (String[] args) throws java.lang.Exception { A a=new A(); test s=new test(); s.hell0(a); System.out.println(a.x); }}
查看完整描述

8 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

public void hell0(A arg)
{
arg.x=9;
arg=new A();
arg.x=8;

System.out.println("88888");

System.exit(0);
}

查看完整回答
反对 回复 2018-12-16
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

重写println

查看完整回答
反对 回复 2018-12-16
?
三国纷争

TA贡献1804条经验 获得超7个赞

没有那么复杂,只是填几行代码。。。。。。我一开始是上边填一个引用,下边又填了几行,但是他说最好就是在、、、、、、、、、hello那三行后边改一些,或者添加一些什么。。。?

查看完整回答
反对 回复 2018-12-16
?
米脂

TA贡献1836条经验 获得超3个赞

@邗影: 根据提供的这个hell0(A arg)模板,在、、、、、、、、、之后是不可能修改原始对象 a ,对arg变量进行的任何操作都不会影响 a 对象,所以只能在输出上做文章。Java里面只有值传递。

查看完整回答
反对 回复 2018-12-16
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

直接删掉arg=new A();  你传递进来的对象是有对外是有效的, 当你新new一个对象后已经不是之前传递进来的对象了, 所以后续怎么改也不会生效的  其实好多人都说java只有值传递,  个人感觉这个情况就不是值传递了

查看完整回答
反对 回复 2018-12-16
?
弑天下

TA贡献1818条经验 获得超8个赞

两种方式,第一种同上,不要在那方法里面去new(ps:你new的用意是什么?)

第二种,加个对象,让A成为其成员(字段),hello方法接受这个对象,然后你想怎么掰那个class为A的字段就怎么掰吧。

查看完整回答
反对 回复 2018-12-16
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

hello里的前三行是人家给的,只让你在前三行后改动。。。。。所以我才这样问

查看完整回答
反对 回复 2018-12-16
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

void hello(A arg){

A arg2=arg;

那三行.......

.........

..............

arg2.x=8;}

我一开始是这样改的,但是他希望还有别的方式,????我就不知道了

查看完整回答
反对 回复 2018-12-16
  • 8 回答
  • 0 关注
  • 512 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信