gpt4 book ai didi

java - 可以从Java中的参数返回值吗?

转载 作者:行者123 更新时间:2023-12-02 00:48:34 25 4
gpt4 key购买 nike

据我所知,Java 总是通过“按值传递”来调用方法。但我看到了Android的NotificationManager.notify(String, int, Notification)的引用:

Returns

 the id of the notification that is associated with the string

identifier that can be used to cancel the notification

请引用引用资料: http://developer.android.com/reference/android/app/NotificationManager.html

这怎么会发生?难道是我理解错了什么?

BR,亨利

最佳答案

关于本声明:

“Java 按值传递基元,但通过引用传递对象。”

这不准确。 Java 按值传递所有内容,但根本不传递对象。

  • 对于基元:副本被传输到方法(不要忘记 String 不是基元) - 你说的是正确的
  • 对于引用变量:它们也按值传输:引用变量的副本被传输到方法。所以对象本身永远不会被传输。可以在方法中更改对象(通过调用其某些方法),从方法返回后您将看到修改(例如,更改 Person 对象的“name”成员),但如果更改引用,则此更改在方法外部不可见:

更改引用是通过“new”运算符或通过像 param = some_other_reference 这样的赋值来完成的(其中 some_other_referece 指向堆上的某个其他对象)。更改引用不会影响“原始”引用,只会影响“复制引用”(方法内部使用的引用)。

关于java - 可以从Java中的参数返回值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4162742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com