class A{ public int getNumber(int a){ return a+1; } } class B extends A{ public int getNumber(int a){ return a+100; } public static void main(String args[]){ A a = new A(); System.out.println(a.getNumber(10)); a = new B(); System.out.println(a.getNumber(10)); } }
时间: 2024-03-31 20:37:30 浏览: 29
JAVA数据库笔试题(答案在最后).doc
这段代码仍然存在语法错误,第二个System.out.println语句中的代码仍然缺少右括号,应该为"a = new B();"。在运行程序时,第一个输出结果为11,因为a是A类的实例,调用的是A类中的getNumber方法。第二个输出结果为110,因为a被重新赋值为B类的实例,调用的是B类中的getNumber方法,该方法返回的是参数a加上100的结果。这体现了Java中的多态性,父类对象可以引用子类对象,但是调用的方法取决于实际的对象类型。
阅读全文