`

也谈JAVA中的多态

阅读更多

在这里主要想讨论一下多态中的重载[overload]

 

即:参数和个数,类型,顺序来决定函数的选择

注:返回值的不同不能算做重载

 

常见的参数个数不一样 和  参数为两个完全不一样类型时的重载也不讨论,下面讨论一下不容易区分的一些情况

 

例1。

   static void f(float f){}

   static void f(double d){}

   public static void main(String args[]){

      f(66);

  }

 

  此时会调用哪个呢,这就由重载决议来决定了

 

  重载协议包括:

  1) 由参数的个数,类型和顺序来决定 [一般情况]

  2) 重载方法必须是可以被调用的

       例子

   class A{    

       public static void f(float f, double d){}

       private static void f(double d,float f){}

   }

 

   则  A.f(1,2);  //肯定是调用第一个函数,第二个函数永远调不到

 

   3)精确性原则

   如果几个函数的参数都适合时,如果第1个方法参数类型都可以赋给第2个方法,而第2个方法的参数不可以赋给第1个 

   方法时,第1个方法被保留,重复这个筛选过程,只到最后剩下最后一个方法为止,如果最后有两个方法不能取舍时,则

   编译器会报编译错误

    

这里要记住自动发生的转换: byte -> short -> int -> long -> float -> double

通过上面这里,了解到最开始地个题目是执行float那个方法

分享到:
评论

相关推荐

    浅谈java多态的实现主要体现在哪些方面

    下面小编就为大家带来一篇浅谈java多态的实现主要体现在哪些方面。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    java编程第八讲----多态

    第八讲 多态 1、再谈向上类型转换(upcasting) 忘记对象的类型 2、多态机理 方法绑定(method binding) ... 构造方法中多态方法的行为 5、利用继承设计 纯粹继承与扩展 向下类型转换及运行时类型辨识

    浅谈Java中的重载,重写,多态,静态绑定、动态绑定

    主要介绍了浅谈Java中的重载,重写,多态,静态绑定、动态绑定,具有一定借鉴价值

    一篇文章快速了解Java中的继承与多态

    多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。此处的多个类称为子类(此类,派生类,拓展类),单独的这个类称为父类

    浅谈java 面对对象(抽象 继承 接口 多态)

    下面小编就为大家带来一篇浅谈java 面对对象(抽象 继承 接口 多态)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    【大厂面试题总结】JavaSE面试题总结详细教程

    【大厂面试题总结】JavaSE面试题总结详细教程: 目录: 递归算法之输出某个目录下所有文件和子目录列表 泛型中extends和super的区别 内部类的理解 ...java中实现多态的机制 string常量池和intern韩雅茹

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    3.4 小结:基本数据类型—— Java中一切数据和运算的基础 63 3.5 习题 65 第4章 Java中的程序执行流程 67 教学视频:1小时57分钟 4.1 顺序执行 67 4.2 使用if-else让程序懂得判断 68 4.2.1 if语句 68 4.2.2 ...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    3.4 小结:基本数据类型—— Java中一切数据和运算的基础 63 3.5 习题 65 第4章 Java中的程序执行流程 67 教学视频:1小时57分钟 4.1 顺序执行 67 4.2 使用if-else让程序懂得判断 68 4.2.1 if语句 68 4.2.2 ...

    【大厂面试题总结】JavaSE面试题合集及其答案,基本包括javaSE所有知识点和详细解释

    【大厂面试题总结】JavaSE面试题合集及其答案,基本包括javaSE所有知识点和详细解释 。 JavaSE面试题总结详细教程: 目录: 递归算法之输出某个目录下所有文件和子目录...java中实现多态的机制 string常量池和intern

    Java入门教程(微学苑)-part1

    3.22 再谈Java包 56 3.23 如何实现包 56 3.24 包的调用 56 3.24.1.1 1) 在每个类名前面加上完整的包名 57 3.24.1.2 2) 通过 import 语句引入包中的类 57 3.25 类的路径 57 3.26 包的访问权限 58 3.27 源文件的声明...

    史上最详细的【一线大厂面试题】详解及其答案

    目录: 1、前端 2、JavaSE 3、mysql数据库 4、springboot 5、缓存 更详细目录(子目录): 1、前端目录 ①如何避免CDN为PC端缓存移动端页面 ...16、java中实现多态的机制 17、string常量池和intern

    21天学通Java-由浅入深

    60分钟) 217 11.1 异常处理基本介绍 217 11.1.1 try和catch捕获异常 217 11.1.2 try-catch语句使用注意点 218 11.1.3 finally语句的使用 220 11.1.4 再谈异常处理注意点 222 11.2 异常的分类 223 11.2.1 捕获异常 ...

    浅谈java中的对象、类、与方法的重载

    对象: 一切皆为对象。 对象包括两部分内容:属性(名词形容词),行为(动词)。 对象和对象之间是有关系的: 派生,关联,依赖。 类: 对同一类别的众多对象的一种抽象。 类,还是用来生成对象...也能被其它位置的对

    30天搞定Java–day9

    文章目录每日一考和复习补充知识点面向对象再谈方法方法的重载可变形参的方法方法参数的值传递机制递归算法(暂时了解) 每日一考和复习 每日一考 面向对象思想编程内容的三条主线分别是什么 类及类的成员:属性、方法...

    JSTL详细标签库介绍

    <BR>Java使用和C++类似的异常处理<BR>1、处理错误的方法有很多流行方法<BR>2、一般方法是把程序处理代码段分散到系统代码中,在可能发生错误的地方处理错误优点:便于程序员能够条理的看到程序中异常的处理缺点:...

    对javascript继承的理解

    更不用谈继承、多态了,为了模拟出一些其它面向对象编程语言的这些特性,有好多大牛写了给出了实现方式,看了John Resig的《Simple JavaScript Inheritance》这篇文章,深深被折服了,原来短短几十行javascript也...

    Scala程序设计(第2版)

    22.1 在Scala代码中使用Java名称 430 22.2 Java泛型与Scala泛型 430 22.3 JavaBean的性质 432 22.4 AnyVal类型与Java原生类型 433 22.5 Java代码中的Scala名称 433 22.6 本章回顾与下一章提要 434 ...

    javaSE代码实例

    6.9.2 Java中的GregorianCalendar类 96 6.9.3 擅用系统已有类的思想 98 6.10 小结 99 第7章 访问控制——Java世界的卫兵 100 7.1 包的使用 100 7.1.1 声明创建包 100 7.1.2 引入包内的资源 102 7.1.3...

    Javascript玩转继承(一)

    面向对象的三个特征,继承,多态,封装,Javascript虽然实现起来不像Java,C#等面向对象的语言来得快,但是毕竟也有着一定的支持。因此说Javascript是面向对象的语言是有着一定道理的,但是从继承这个部分来谈,一...

    浅谈javascript 面向对象编程

    感叹是为了缓解严肃的气氛并引出今天要讲的话题,”javascript面向对象编程”,接下来,我们围绕面向对象的几大关键字:封装,继承,多态,展开。 封装:javascript中创建对象的模式中,个人认为通过闭包才算的上是...

Global site tag (gtag.js) - Google Analytics