以下程序的输出结果______________________
Public class Q1
{
public static void main(String args[])
{
int i=1;
                  Inc inc=new Inc();
                  Inc.func(i);
                  System.out.println(i);         }
}Class Inc()
{
public void func(int i)
{
i=i+10;
}
}
答案是1还是11?

解决方案 »

  1.   

    这个1是int型的,它传的是值,不是引用,所以在这里i的值是没有改变的
      

  2.   

    我跟你说哦你这个程序运行不起的除非你在定义func方法前加个static或者把Inc.func(i);改成inc.func(i)结果是1基本类型不是传的对象的引用
      

  3.   

    应该是1吧 i = i+10是方法的局部变量 
    打印的是上面那个i的值 也就是1
      

  4.   

    对了 方法要该成static。。
      

  5.   

    当然是1了,是值传递。实际上你的i是两个不同的i。方法func写成以下形式也跟你的没有区别。public void func(int a) {
    a=a+10;
    }想改值的话就return a就好了。
    还有你的程序好多错误,Public的P应该改成小写p,Class的C应该改成小写c,调用func的对象Inc应该是你new的小写的inc,还有定义类Inc时后面不要加括号。