int temp = count;
count = count + 1;
return temp;是这样子的,返回的是0,但count的值已经变成1了

解决方案 »

  1.   

    return  count++, 先返回count的值,然后count再自加1,你第一次调用直接返回count的初值,第二次count已经自加过了。
      

  2.   

    ++优先级最低,在return之后才操作。
      

  3.   

    正常为了看静态变量的效果应该是用++count 不是count++,安稳点先count++再return count
    你只是没弄懂count++而已
      

  4.   

    第一行输出时,函数返回值为0,但是注意因为自增操作全局变量count已经变为了1;
    第二此输出时,函数返回值为1,由于自增count变为了2
      

  5.   

    哥们,这个是一个理解的问题。return后边的语句确实不会执行,但是count++这是一个表达式,是return执行的内容。如果在这个表达式之后,还有语句的话,就是在count++后边的分号之后还有内容,那些内容就不会被执行了。在你的代码中,count是一个静态变量,属于类,不属于单独的某一个对象,所以会出现多次调用时,结果自增的情况。
      

  6.   

    新手观点,刚刚接触java10天。高手不要喷哦。
    如果这样理解:
    第一次执行的是调用新建对象m的值。自加在变量的后面,对象变量返回值后在自加。返回值是0,变量count值自加变成1;
    第二次执行是调用已建立对象m的值。对象m调用方法count,返回值1,变量count值自加变成2。是错误的!!!!!!!!!!我认为正确理解是:
    变量count是静态成员变量,存储在方法区内,不受局部变量影响。
    无论你是调用什么对象,只要执行了count方法后,成员变量count的值都会自增。
      

  7.   

    count=0 时 返回了 地一个输出0 之后count 自加1 变为1 作为第二个输出  主要就是++ 的优先级低于return