问题描述
- Java基础一个问题,求帮忙解答
-
有一个java类
public final class Test{
private long position = -1;
public void method(){
position++;
}
}
当系统中A访问Test method后,position值为多少,B再访问Test method后,position值为多少?
为什么,求帮忙解答?
解决方案
访问之后,position的值始终为0,这是一个final类,每次进去访问时,position的初始值都是从-1开始的,在经过method()方法后,它的值变为0,但是下一次访问时,position的值又是从-1开始的。因此,始终为0;楼主不要被final迷惑
解决方案二:
对同一个对象来说,Test test = new Test(); 每次调用mehtod方法,position都加1了。楼主可能对final class 有疑惑,final class修饰class,表示这个类不能被其他类继承而已,属性还是可以改变的
时间: 2024-09-15 05:12:30