java重写与方法重载实例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
protected void show(){
System.out.println("我是老子!");
}
}
class Son extends Father{
/**
* Cannot reduce the visibility of the inherited method from
Father
不能减少来自继承方法的可见性
}
}Fra Baidu bibliotek
class Test {
void test(Father father){
System.out.println("父型参数");
father.show();
}
void test(Son son){
System.out.println("子型参数");
son.show();
}
}
class Father {
子类访问权限要大于父类
*/
/*void show(){
}*/
public void show(){
System.out.println("我是儿子!");
}
public void show(String name){
System.out.println("我是儿子:名字是"+name);
}
}
public static void main(String[] args) {
Father father = new Son();
father.show();//运行期绑定:重写看对象(new的是谁调谁的方法)
Test test = new Test();
test.test(father);//编译器绑定:重载看引用(等号前的类型是谁调谁的方法)
package basetest;
/**
*
* @author Administrator
*案例分析:对于main最后一行代码有两个坑
*1.调用的是Test类的哪一个方法?
*这一步看重载
*2.对于传递的参数(son),方法体重调用的是谁的方法
*这一步看重写调用的是子类的方法
*
*
*/
public class OverrideDemo {
System.out.println("我是老子!");
}
}
class Son extends Father{
/**
* Cannot reduce the visibility of the inherited method from
Father
不能减少来自继承方法的可见性
}
}Fra Baidu bibliotek
class Test {
void test(Father father){
System.out.println("父型参数");
father.show();
}
void test(Son son){
System.out.println("子型参数");
son.show();
}
}
class Father {
子类访问权限要大于父类
*/
/*void show(){
}*/
public void show(){
System.out.println("我是儿子!");
}
public void show(String name){
System.out.println("我是儿子:名字是"+name);
}
}
public static void main(String[] args) {
Father father = new Son();
father.show();//运行期绑定:重写看对象(new的是谁调谁的方法)
Test test = new Test();
test.test(father);//编译器绑定:重载看引用(等号前的类型是谁调谁的方法)
package basetest;
/**
*
* @author Administrator
*案例分析:对于main最后一行代码有两个坑
*1.调用的是Test类的哪一个方法?
*这一步看重载
*2.对于传递的参数(son),方法体重调用的是谁的方法
*这一步看重写调用的是子类的方法
*
*
*/
public class OverrideDemo {