我写了一个简单的程序,如下所示,这让我感到困惑:
package BasePackage;
public class ParentClass {
static int i=15;
double f=4.5;
public static void main(String[] args) {
ParentClass obj1= new ParentClass();
obj1.i=10;
obj1.printvalue();
System.out.println("The value of i is " +i);
}
public void printvalue()
{
ParentClass obj1= new ParentClass();
int i =30;
obj1.i=25;
System.out.println("The value of i in the method is " +i);
}
}
我得到的输出类似于 The value of i in the method is 30 and the value of i is 25. 我的问题是类级别 i 的静态值,即 15 应该被打印,因为静态值不应更改。另外,我在方法中更改了 i =25 的值,那么为什么没有打印它而不是 30?
慕莱坞森
拉莫斯之舞
蛊毒传说
相关分类