复习一下 : 过载 (override) 重载 (overload) 在代码实践中 理清概念。
package sub;
/**
* 简析 过载与重载
* User: yiminghe
* Date: 2009-4-21
* Time: 21:35:24
*/
public class ab {
// 两个重载函数 - 1
static void exe(Child c) {
System.out.println("overload child");
}
// 两个重载函数 - 2
static void exe(Parent c) {
System.out.println("overload parent");
}
public static void main(String[] args) {
Parent p = new Child();
Child c = new Child();
p.exe(c);
//不能,静态查找,父类函数参数为子类
//p.exe(p);
// 可以 ,静态查找,子类函数参数为子类
c.exe(p);
//重载函数静态绑定
exe(p);
exe(c);
//静态绑定,调用的仍然是Parent 的静态函数,不管p的动态类型
p.exeStatic();
}
}
class Parent {
//过载函数基准,定义在父类
Child exe(Child c) {
System.out.println("child in parent");
return null;
}
static exeStatic(){
System.out.println("child static in parent");
}
}
class Child extends Parent {
//隐藏掉了父类静态函数,但不是override
static exeStatic(){
System.out.println("child static in parent");
}
//过载了父类的函数 ,返回值只能比 过载的父类函数返回类型更加严格(子类)
GrandChild exe(Child c) {
System.out.println("child in child");
return null;
}
/* 下面过载错误: 过载了父类的函数 ,返回值只能比 过载的父类函数返回类型更加严格(子类)
其他还有 :
子类中重写的方法的访问权限不能比父类的低,如果父类的权限是public,则子类的该方法只能是public,父类的是protected,则子类的可以是protected或者public,依次类推。
子类中的该方法不能比父类中的该方法抛弃(throws)更多种类的异常。
Parent exe(Child c) {
System.out.println("child in child");
return null;
}
*/
//没有过载父类函数,重载了子类的同名函数
void exe(Parent c) {
System.out.println("parent in child");
}
/*
下面重载错误:重载同类函数不考虑返回值 ,函数名和签名才是区别
Parent exe(Parent c) {
System.out.println("parent in child");
}
*/
}
class GrandChild extends Child {
}
分享到:
相关推荐
简析JAVA编程语言和应用.pdf
Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战...
一份关于Java对XML编程的相关资料,不错的。
C++与Java混合编程简析 现如今 程序员也不能像之前那样 掌握一种语言就行了 现在需要的是多种编程语言混合使用 今天达内郑州中心的老师同大家分享C++与Java混合编程简析 更多信息:达内郑州官网:...
JAVA的XML编程,入门级别介绍,相当不错!
java简析stdf文件的专业文档,stdf是芯片制造行业专业
XML作为全球通用的结构化语言,越来越受人们青睐 。在许多项目中利用XML数据交换信息,省去了许多麻烦事,不用制定繁锁的数据格式,利用XML数据易于表达,也利于一线开发者跟踪调试。在XML应用中,最常用也最实用的...
JAVA几个常见错误简析
MongoDB入门教程 + 架构简析 + java使用MongoDB的简单程序
本人亲测的一个不错的Java简析excel文件的源码,自己写的,有啥问题,希望大家多多指正
JSJAVA卡片场景能力差异简析
Java语言的Socket编程 利用Java实现串口全双工通讯 Java语言中字符的处理 区分引用类型和原始类型 Java中的两个特殊变量this和super Java中利用散列表实现股票行情的查询 Java中文问题详解 Vector在Java编程中...
主要介绍了简析Java中的util.concurrent.Future接口,作者把future归结为在未来得到目标对象的占位符,需要的朋友可以参考下
JAVA基础:很有帮助的.
简析西方现代语言学代表人物及其方法论贡献.pdf
简析红楼梦人物对话语言特色.doc
简析电子信息科学与技术应用的探讨与研究.pdf