JAVA中的参数按值传递与按引用传递

本文通过三个Java示例探讨了Java为何不采用类似C或C++的指针机制。通过对比基本类型和引用类型的传递方式,揭示了Java如何在确保安全性的同时实现高效的数据操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看着有点恼火,你说为毛JAVA不用C或C++一样的指针传递呢?

C#和JAVA都号称取消了指针,但用户在编程时,不一样面对和学C/C++一样的变量及变量指针地址的问题么?

代码分三个:

 1 public class TempTest{
 2     private void test1(int a) {
 3         a++;
 4         System.out.println("The char A in test1 method value is :" + a);
 5     }
 6 
 7     public static void main(String[] args) {
 8         TempTest t = new TempTest();
 9         int a = 3;
10         t.test1(a);
11         System.out.println("The char A in main method value is :" + a);
12     }
13 }
 1 public class TempTest1 {
 2     private void test1(A a) {
 3         a.age = 20;
 4         System.out.println("The age in test1 method value is :" + a.age);
 5     }
 6 
 7     public static void main(String[] args) {
 8         TempTest1 t = new TempTest1();
 9         A a = new A();
10         a.age = 10;
11         t.test1(a);
12         System.out.println("The age in main method value is :" + a.age);
13     }
14 }
15 class A {
16     public int age = 0;
17 }

 

 1 public class TempTest2 {
 2     private void test2(A a) {
 3         a = new A();
 4         a.age = 20;
 5         System.out.println("The age in test2 method value is :" + a.age);
 6     }
 7 
 8     public static void main(String[] args) {
 9         TempTest2 t = new TempTest2();
10         A a = new A();
11         a.age = 10;
12         t.test2(a);
13         System.out.println("The age in main method value is :" + a.age);
14     }
15 }
16 class A {
17     public int age = 0;
18 }

 

结果分三段:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值