初级问题求助,想从内存角度理解,请大神指导
这个小程序public class Test
private static int j = 0;
private static boolean methodB(int k){
j += k;
return ture;
}
public static void meethodA(int i){
boolean b;
b = i < 10 | methodB(4);
b = i < 10 | methodA(8);
}
public static void main(String args[]){
methodA(0);
System.out.println(j);
}
写出他的输出的结果 结果是4
我的疑惑:
1:static int j = 0 j是静态的,它的值不应该是不变的吗?如果是变化的话,那么它在内存中是如何变化的?
2:在main方法中没有声明创建新的类Test啊,可是为什么可以调用methodA方法?
我感觉这个第一个疑问和这个是一样
class Test
{
public static void main(String args[]){
int a =0;
System.out.println(a++);
System.out.println(a++);
System.out.println(a);
System.out.println(++a);
}
我认为每次println方法总是去取上方的a,所以我就出错了。
新人 ,没有多少分所以吝啬了,对不起!求知若渴真心求教!