java - Java EE 中对象的引用。远程和本地接口(interface)的区别?

标签 java jakarta-ee call-by-value

据我所知,Java只是按引用调用。如果一个实体必须通过远程接口(interface),它还能有引用吗?现在实体基本上都在另一个容器中了,怎么还能有对象的引用呢?换句话说:“通过”远程接口(interface)的实体是否可能不仅仅是引用,而是对象的副本(按值调用)?

抱歉,如果这是一个愚蠢的想法,但是整个引用调用(或通过引用传递?)概念在 Java EE 中让我感到困惑。

编辑:换句话说: session bean 中的对象是否始终作为引用传递?

最佳答案

Java 始终是按值调用。这是一个可以让事情变得清楚的例子:

class Operation{  
int data=50;  

void change(int data){  
  data=data+100;//changes will be in the local variable only  
}  

public static void main(String args[]){  
  Operation op=new Operation();  
  System.out.println("before change "+op.data);  
  op.change(500);  
  System.out.println("after change "+op.data);   

}
}

Output:before change 50
       after change 50               

关于java - Java EE 中对象的引用。远程和本地接口(interface)的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31000469/

相关文章:

java - INSERT INTO 声明两次时不插入 Sqlite ANDROID

Java EE : With CDI in place, 我们是否需要将 'new' 用于我们自己的 POJO

gradle - 如何在Tomee Web服务器上运行gradle Web项目?

java - 生成递归目录搜索的 XML 映射

java - 为什么程序员说 "pass by reference"真的是 "passing references by value?"为什么这很重要?

java - 无法从java执行rsync

Java:使用 -cp 选项运行的 jar 文件中的启动画面?

c++ - 为什么我的复制构造函数在这种情况下只被调用两次?

abap - EXPORTING方法参数如何按值传递?

java - Tomcat 6、 hibernate 、oracle 11 登录被拒绝