public class Exercises11 {
public static void main(String[] args){
AllTheColorsOfTheRainbow atc = new AllTheColorsOfTheRainbow();
atc.changeColor(8);
System.out.println("atc.anIntegerRepresentingColors is = "+atc.anIntegerRepresentingColors);
atc.changeTheHueOfTheColor(6);
System.out.println("atc.newHue = " + atc.newHue);
}
}
class AllTheColorsOfTheRainbow{
int anIntegerRepresentingColors;
int newHue = 0;
void changeTheHueOfTheColor(int newHue){
System.out.println("The color is: " + newHue);
}
int changeColor(int newColor) {
return anIntegerRepresentingColors = newColor;
}
}
打印结果:
atc.anIntegerRepresentingColors is = 8
The color is: 6
atc.newHue = 0
在这段代码重 atc.newHue 的值为0 是因为 JAVA中优先局部变量的原因
从内存方面解释的话 int newHue = 0
和void changeTheHueOfTheColor(int newHue)
中两个 newHue 是指向的不同的内存地址