classSimpleCalc{publicstaticintvalue;publicinta=2;publicvoidcalculate(){value+=7;System.out.println("calculate()inSimpleCalc");System.out.println(value);}}publicclassMult...
class SimpleCalc { public static int value; public int a=2; public void calculate() { value += 7; System.out.println("calculate() in SimpleCalc"); System.out.println(value); } } public class MultiCalc extends SimpleCalc { public int a=3; public void calculate() { value -= 3; System.out.println("calculate() in MultiCalc"); System.out.println(value); } public void calculate(int multiplier) { System.out.println("calculate(int multiplier) in MultiCalc"); System.out.println(value); calculate(); super.calculate(); value *=multiplier; } public static void main(String[] args) { SimpleCalc calculator = new MultiCalc(); calculator.calculate(); System.out.println("Value is: "+ calculator.value); System.out.println("Value is: "+ calculator.a); System.out.println("Value is: "+ SimpleCalc.value); } } out: calculate() in MultiCalc -3 Value is: -3 Value is: 2 Value is: -3 输出的应该是父类的VALUE值,为什么父类的value值也被改变了呢?
展开