当前位置:文档之家› java重写与方法重载实例

java重写与方法重载实例

}
}
class Test {
void test(Father father){
System.out.println("父型参数");
father.show();
}
void test(Son son){
System.out.prin.show();
}
}
class Father {
子类访问权限要大于父类
*/
/*void show(){
}*/
public void show(){
System.out.println("我是儿子!");
}
public void show(String name){
System.out.println("我是儿子:名字是"+name);
}
}
protected void show(){
System.out.println("我是老子!");
}
}
class Son extends Father{
/**
* Cannot reduce the visibility of the inherited method from
Father
不能减少来自继承方法的可见性
package basetest;
/**
*
* @author Administrator
*案例分析:对于main最后一行代码有两个坑
*1.调用的是Test类的哪一个方法?
*这一步看重载
*2.对于传递的参数(son),方法体重调用的是谁的方法
*这一步看重写调用的是子类的方法
*
*
*/
public class OverrideDemo {
public static void main(String[] args) {
Father father = new Son();
father.show();//运行期绑定:重写看对象(new的是谁调谁的方法)
Test test = new Test();
test.test(father);//编译器绑定:重载看引用(等号前的类型是谁调谁的方法)
相关主题