java传值和传址的区别_传值和传址有什么区别 还有...

传值和传址有什么区别 还有...

public class GlobalVar2

{

int a = 10;//定义成员变量

double b = 20;//定义成员变量

public static void main(String[] args)//入口方法

{

GlobalVar2 globalVar = new GlobalVar2();//实例化一个对象

System.out.println("the value a = " + globalVar.a);//静态方法里必须用对象来调用

globalVar.print();//对象调用方法

System.out.println("after changed the value a = " + globalVar.a);//输出打印

}

public void print()

{

System.out.println("the global variable a = " + a + ", b = " + b);

a=22;//给a赋值

System.out.println("the global variable a = " + a + ", b = " + b);

}

}

就是上面的一段程序 我不懂的问题有:

1.打印输出后 最后一个输出的是: after changed the value a =22 为什么啊 a=22不是在块中吗  调用的不是成员变量a=10吗?

2.在块中也就是 a=22;的前面如果加上类型修饰符 int 后 最后一条输出语句所显示的是成员变量a=10;为什么啊

另外 还有不是有不能在类中的块中重新定义吗

3.句柄和实例化对象有什么区别?

4.传值和传址有什么区别  能用程序说明下吗?

我是才学 有些问题总是很混淆呢  希望各位多多指教!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值