复习一下 : 过载 (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中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战...
JAVA编程语言是一种广泛使用的面向对象编程语言,它具有平台独立性、可移植性以及强大的多线程处理能力等特点。JAVA语言从C++语言发展而来,但二者在某些方面存在差异。JAVA语言的一个核心特性是能够编写一次,然后...
Java作为一种多用途的编程语言,提供了丰富的API来处理XML,使得开发者能够方便地进行XML的解析、生成、验证等操作。本文将深入探讨Java中的XML编程,主要涉及以下几个核心知识点: 1. **DOM解析**:DOM(Document ...
### 简析JAVA的XML编程 #### 一、引言 随着互联网技术的发展,XML(Extensible Markup Language,可扩展标记语言)作为一种开放的、跨平台的数据存储和传输标准,已经成为不同系统间进行数据交换的重要工具。XML以...
1. JAVA编程语言简析 JAVA编程语言是一种对象性较强的编程语言,它由编程语言、Java类文件格式、Java虚拟机和Java应用程序接口这四部分组成。这四个部分相互配合,进而推动编程语言的工作。JAVA编程语言的工作流程...
### Java简析STDF文件 #### 引言与背景 随着半导体行业的快速发展,测试数据的标准化变得尤为重要。在这一背景下,STDF(Standard Test Data Format)作为一种被广泛接受的标准格式应运而生。它旨在提高不同制造商...
6. Java驱动程序:Java驱动程序提供与MongoDB交互的接口,包括连接、查询、插入、更新和删除操作。 通过学习上述内容,你将能够熟练地使用MongoDB,并在Java项目中集成MongoDB作为持久化存储。记得参考提供的文档,...
1. **JAVA语言鲁棒性**:Java语言的鲁棒性体现在其能够在变异和运行时检查错误,通过虚拟机实现跨平台,减少内存出错可能性(因为Java自己管理内存),以及实现真数组避免数据覆盖。这些特性使得Java程序更稳定,...
《JAVA几个常见错误简析》 在Java编程中,错误处理是开发者必须面对的重要环节。本文主要分析了Java中常见的空指针异常(NullPointerException),这是许多初学者和经验丰富的开发者都可能遇到的问题。了解这些错误...
本文将基于提供的“Java做的简析excel文件源码”进行深入讲解,介绍如何使用Java来解析Excel文件,并探讨相关技术点。 首先,Java中解析Excel文件主要依赖于Apache POI库,这是一个强大的API,用于读取、创建和修改...
Java语言的Socket编程 利用Java实现串口全双工通讯 Java语言中字符的处理 区分引用类型和原始类型 Java中的两个特殊变量this和super Java中利用散列表实现股票行情的查询 Java中文问题详解 Vector在Java编程中...
本篇文章将详细探讨如何使用Java语言,结合`meteoInfo`和`geotools`库来解析`shp`文件,提取关键信息,包括边界线数据、中心点坐标以及最大和最小的经纬度值。 首先,`shp`文件本身并不包含投影信息,因此在解析前...
### JSJAVA卡片场景能力差异简析 #### 一、引言 随着HarmonyOS的不断发展与完善,开发者们有了更多的选择来构建应用和服务。在HarmonyOS中,卡片作为一种轻量级的应用展示形式,提供了丰富的交互体验。针对不同的...
JAVA基础:很有帮助的.
他提出了语言符号的能指与所指概念,认为两者之间的关系是任意的,这启发了符号学的进一步发展。索绪尔强调语言是一个整体的结构系统,并区分了语言和言语,以及共时研究和历时研究,为语言学研究奠定了基础。 2.2...
简析电子信息科学与技术应用的探讨与研究.pdf