A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 塞肥肥塞牙人 于 2014-9-8 18:15 编辑
  1. class Demo
  2. {
  3. public static void main(String[] args){
  4.   int x=3;
  5.   show (x);
  6.   System.out.println("x=" + x);
  7.   }
  8. public static void show(int x){
  9.   x=4
  10. }
  11. }
复制代码
  1. class Demo
  2. {
  3.   int x = 3;
  4.   public static void main(String[] args){
  5.          Demo d= new Demo();
  6.          d.x=9;
  7.          show(d);
  8.          System.out.println(d.x);
  9. }
  10. public static void show(Demo d){
  11.      d.x = 4;
  12. }
  13. }
复制代码
基本数据类型(第一段代码)与引用数据类型(第二段代码)的X分别是什么????
为什么???

2 个回复

倒序浏览
第一段代码x=4,因为show方法中重新对x赋值。
第二段代码中x=4,因为你传进来的d是新new的一个demo对象,并且show方法对他的值进行了重置。
要是打印的是x的话就是3.
没有运行代码纯想象,很有意思的小题目
回复 使用道具 举报
likeermei 发表于 2014-9-10 22:55
第一段代码x=4,因为show方法中重新对x赋值。
第二段代码中x=4,因为你传进来的d是新new的一个demo对象,并 ...

谢 谢 关 注
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马