`
yiminghe
  • 浏览: 1453354 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

简析 Java语言的过载与重载

    博客分类:
  • java
阅读更多

复习一下 :  过载 (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 {

}



 

 

分享到:
评论
5 楼 ray_linn 2010-08-27  
override一般叫“重写”,这样就不需要和overload”重载"区分了呗。
4 楼 yiminghe 2009-05-07  
中文 我确实一直这么叫的。。。。
3 楼 liangcoder 2009-05-07  
“过载”? 这个称呼太灵异了~
2 楼 liangcoder 2009-05-07  
"override"也可以被翻译为“覆写”~
1 楼 liangcoder 2009-05-07  
"override"应该被翻译为“覆盖”~

相关推荐

    Java中的泛型简析实战.zip

    Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战...

    简析JAVA编程语言和应用.pdf

    JAVA编程语言是一种广泛使用的面向对象编程语言,它具有平台独立性、可移植性以及强大的多线程处理能力等特点。JAVA语言从C++语言发展而来,但二者在某些方面存在差异。JAVA语言的一个核心特性是能够编写一次,然后...

    简析JAVA的XML编程

    Java作为一种多用途的编程语言,提供了丰富的API来处理XML,使得开发者能够方便地进行XML的解析、生成、验证等操作。本文将深入探讨Java中的XML编程,主要涉及以下几个核心知识点: 1. **DOM解析**:DOM(Document ...

    简析JAVA的XML编程.pdf

    ### 简析JAVA的XML编程 #### 一、引言 随着互联网技术的发展,XML(Extensible Markup Language,可扩展标记语言)作为一种开放的、跨平台的数据存储和传输标准,已经成为不同系统间进行数据交换的重要工具。XML以...

    JAVA编程语言在计算机软件开发应用中的探究.pdf

    1. JAVA编程语言简析 JAVA编程语言是一种对象性较强的编程语言,它由编程语言、Java类文件格式、Java虚拟机和Java应用程序接口这四部分组成。这四个部分相互配合,进而推动编程语言的工作。JAVA编程语言的工作流程...

    java简析stdf文件

    ### Java简析STDF文件 #### 引言与背景 随着半导体行业的快速发展,测试数据的标准化变得尤为重要。在这一背景下,STDF(Standard Test Data Format)作为一种被广泛接受的标准格式应运而生。它旨在提高不同制造商...

    MongoDB入门教程 + 架构简析 + java使用MongoDB的简单程序

    6. Java驱动程序:Java驱动程序提供与MongoDB交互的接口,包括连接、查询、插入、更新和删除操作。 通过学习上述内容,你将能够熟练地使用MongoDB,并在Java项目中集成MongoDB作为持久化存储。记得参考提供的文档,...

    JAVA程序设计习题库及答案

    1. **JAVA语言鲁棒性**:Java语言的鲁棒性体现在其能够在变异和运行时检查错误,通过虚拟机实现跨平台,减少内存出错可能性(因为Java自己管理内存),以及实现真数组避免数据覆盖。这些特性使得Java程序更稳定,...

    JAVA几个常见错误简析

    《JAVA几个常见错误简析》 在Java编程中,错误处理是开发者必须面对的重要环节。本文主要分析了Java中常见的空指针异常(NullPointerException),这是许多初学者和经验丰富的开发者都可能遇到的问题。了解这些错误...

    Java做的简析excel文件源码

    本文将基于提供的“Java做的简析excel文件源码”进行深入讲解,介绍如何使用Java来解析Excel文件,并探讨相关技术点。 首先,Java中解析Excel文件主要依赖于Apache POI库,这是一个强大的API,用于读取、创建和修改...

    CSDN.rar_简繁体_股票 java

    Java语言的Socket编程 利用Java实现串口全双工通讯 Java语言中字符的处理 区分引用类型和原始类型 Java中的两个特殊变量this和super Java中利用散列表实现股票行情的查询 Java中文问题详解 Vector在Java编程中...

    shp文件解析java实现

    本篇文章将详细探讨如何使用Java语言,结合`meteoInfo`和`geotools`库来解析`shp`文件,提取关键信息,包括边界线数据、中心点坐标以及最大和最小的经纬度值。 首先,`shp`文件本身并不包含投影信息,因此在解析前...

    JSJAVA卡片场景能力差异简析.docx

    ### JSJAVA卡片场景能力差异简析 #### 一、引言 随着HarmonyOS的不断发展与完善,开发者们有了更多的选择来构建应用和服务。在HarmonyOS中,卡片作为一种轻量级的应用展示形式,提供了丰富的交互体验。针对不同的...

    JAVA基础:JAVA几个常见错误简析

    JAVA基础:很有帮助的.

    简析西方现代语言学代表人物及其方法论贡献.pdf

    他提出了语言符号的能指与所指概念,认为两者之间的关系是任意的,这启发了符号学的进一步发展。索绪尔强调语言是一个整体的结构系统,并区分了语言和言语,以及共时研究和历时研究,为语言学研究奠定了基础。 2.2...

    简析电子信息科学与技术应用的探讨与研究.pdf

    简析电子信息科学与技术应用的探讨与研究.pdf

Global site tag (gtag.js) - Google Analytics