美文网首页Java基础
Java基础教程,第九讲,方法重载

Java基础教程,第九讲,方法重载

作者: 程序员补给栈 | 来源:发表于2019-02-12 22:47 被阅读3次
    image

    前面已经学习了编写简单的构造器, 可以用于初始化对象。但是, 由于对象构造非
    常重要, 所以 Java 提供了多种编写构造器的机制 。下面将详细地介绍这些机制 。

    学完此次课程,我能做什么?

    通过本次课程学习我们将了解Java面向对象编程又一重要特性,方法重载。

    学习此次课程,需要多久?

    5分钟

    课程内容

    重载

    定义:如果一个类中,有多个相同的方法名,不同的参数,就是重载。执行哪个方法取决于传递了什么样的参数,如果匹配不到对应的参数就会报错。

    Java可以重载任何方法,不仅仅是构造方法。例如String类有4个indexOf方法:

    indexOf(int)

    indexOf(int, int)

    indexOf(String)

    indexOf(String, int)

    注意:如果编写一个类时没有编写构造器,那么系统会提供一个无参构造器,这个构造器将所有的实例域设置为默认值。如果写了多个构造函数,却没有无参数构造器会被视为不合法。

    image

    由于上例中没有无参构造器,所以无法通过编译:

    image

    自定义类,方法重载

    我们定义一个Demo4类,4个say()方法。

    image

    在Demo5中实例化,并且调用say()方法。

    image

    输出结果:

    image

    规范:
    为了我们的程序可读,当构造方法的参数与类内的参数重名时,容易引起错误,所以通常在构造方法的参数名前加a。例如:

    image

    这样很清晰:每一个程序员一眼就能够看懂参数的含义 。

    还有一种方法是通过this关键字,进行赋值。

    image

    关注公众号,回复 java基础 下载全部代码+PDF版电子书

    image

    相关文章

      网友评论

        本文标题:Java基础教程,第九讲,方法重载

        本文链接:https://www.haomeiwen.com/subject/kipleqtx.html