62,614
社区成员
发帖
与我相关
我的任务
分享
public class A {
public void f(int i) {//这个方法的作用就是将传入的实参加1呀
i++;
}
}
class B {
public static void main(String[] args) {
final int j = 4;
A ob = new A();
ob.f(j);//现在我调用它让j加1,应该会有语法的上的错误的,因为j不可改变。
System.out.println(j);//它不仅没有语法错误,还输出了4
}
}
public class A {
public int f(int i) {//这个方法的作用就是将传入的实参加1呀,而且还要返回给调用方
i++;
return i;
}
}
class B {
public static void main(String[] args) {
final int j = 4;
A ob = new A();
int k = ob.f(j);
System.out.println(k);//输出5;
}
}
public class A {
public void f(int i) {----------------------------这两个是不同的变量了
i++; |在栈内存创建了一个j副本为i,当然
} |报错,副本i失去常量特性
} |return i;也只是将i的值返回而以
|当然成了5
|
class B { |
public static void main(String[] args) { |
final int j = 4;---------------------------------
A ob = new A();
ob.f(j);//现在我调用它让j加1,应该会有语法的上的错误的,因为j不可改变。
System.out.println(j);//它不仅没有语法错误,还输出了4
}
}
public class A {
public void f(int i) {----------------------------这两个是不同的变量了
i++; |在栈内存创建了一个j副本为i
} |失去了产量特性
} |return i;也只是将i的值返回而以
|当然成了5
|
class B { |
public static void main(String[] args) { |
final int j = 4;---------------------------------
A ob = new A();
ob.f(j);//现在我调用它让j加1,应该会有语法的上的错误的,因为j不可改变。
System.out.println(j);//它不仅没有语法错误,还输出了4
}
}