当前位置: 技术问答>java相关
一道SCJP题!!!!!!!!!!!!!!!
来源: 互联网 发布时间:2015-03-20
本文导语: public class Parent { public Parent() { } public static void main(String args[]) { Parent p = new Parent(); Parent ccc = new Child(); p.method(); ccc.method(); } ...
public class Parent {
public Parent() {
}
public static void main(String args[]) {
Parent p = new Parent();
Parent ccc = new Child();
p.method();
ccc.method();
}
private void method() {
System.out.println("this is father");
}
}
class Child extends Parent {
public int method() {
System.out.println("this is child");
return 0;
}
}
输出的结果和我想的有区别.
我想的是:
this is father
this is child.
但结果是:
this is father
this is father
public Parent() {
}
public static void main(String args[]) {
Parent p = new Parent();
Parent ccc = new Child();
p.method();
ccc.method();
}
private void method() {
System.out.println("this is father");
}
}
class Child extends Parent {
public int method() {
System.out.println("this is child");
return 0;
}
}
输出的结果和我想的有区别.
我想的是:
this is father
this is child.
但结果是:
this is father
this is father
|
应该是override. not overwrite.
另外,这里根本不存在多态,由于父类的方法是private的。
所以,运行时绑定也就不存在了。
另外,这里根本不存在多态,由于父类的方法是private的。
所以,运行时绑定也就不存在了。
|
overwrite必须有相同的参数和返回类型,不能是private
overload必须有不同的参数,返回类型可以不同
overload必须有不同的参数,返回类型可以不同