`

也谈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中的多态主要通过继承、方法重写、父类引用指向子类对象以及晚期绑定机制来实现。理解和熟练运用多态,是提高Java编程能力的重要一步。

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

    【Java中的继承与多态】 继承是面向对象编程的一个核心概念,它允许子类继承父类的属性和方法,从而实现代码的复用。在Java中,继承通过`extends`关键字来实现。例如,如果有一个类`Subclass`想要继承`Superclass`...

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

    Java中的重载、重写、多态、静态绑定和动态绑定的知识点总结 Java 中的重载(Overload)是一种机制,允许在同一个类中定义多个具有相同名称的方法,这些方法的参数个数、参数类型和顺序不能相同。返回类型可以相同...

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

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

    浅谈java面向对象和引用

    ### 浅谈Java面向对象与引用 在Java学习过程中,对于面向对象的理解和引用机制的掌握是至关重要的。本文将围绕这两个概念进行深入探讨,并针对初学者常见的疑惑点进行解答。 #### Java面向对象基础 Java是一种...

    学习Java程序入门-面向对象之封装,继承,多态(下).docx

    在Java中,多态主要通过继承和接口实现。 - **方法的多态性**: - **运行时多态**:这是最常见的一种多态形式,通过方法重写实现。具体哪个方法会被调用取决于运行时对象的实际类型。 - **编译时多态**:通过方法...

    js中实现多态采用和继承类似的方法.docx

    ### JavaScript中实现多态的方法 #### 一、前言 在面向对象编程中,多态是一种重要的特性,它允许我们使用一个接口表示多种类型的对象。JavaScript作为一种动态语言,虽然不像Java或C#那样原生支持类和接口的概念,...

    Java基础教程完整版

    Java学习系列(十四):Java面向对象之细谈线程、线程通信(上) 本章节主要讲解Java的线程编程,包括线程的创建、线程的启动、线程的同步等。 Java学习系列(十五):Java面向对象之细谈线程、线程通信(下) 本...

    浅谈JAVA软件开发的几大误区.pdf

    理解Java的核心概念,如封装、继承和多态,以及合理选择和运用框架,可以帮助开发者减少困惑。 其次,忽视性能优化是另一个误区。有些开发者认为Java天生慢,但实际上,Java虚拟机(JVM)提供了高效的内存管理和...

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

    综上所述,Java中的面向对象特性,如抽象、继承、接口和多态,以及相关的super、构造方法、final和private,共同构建了强大的编程模型,使得开发者能够构建灵活、可维护的软件系统。理解和熟练运用这些概念对于编写...

    计算机软件Java编程特点及技术的探析.pdf

    Java编程语言是一种成熟且广泛使用的编程语言,它在计算机软件开发中具有重要的地位和作用。Java语言的特点和优势主要体现在以下几个方面: 1. 面向对象编程:Java是一种面向对象的编程语言,这意味着在Java中,...

    浅谈计算机软件开发中JAVA编程语言的应用.pdf

    计算机软件开发是现代信息技术领域中的一个重要分支,它涉及到...这也意味着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笔记Core java

    谈到多线程,Java提供了内置的多线程支持。在单个程序中可以同时执行多个任务,这就是多线程。Java的Thread类和Runnable接口是实现多线程的关键。通过创建Thread对象并传入Runnable实例,或者直接让类实现Runnable...

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

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

    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 ...

    java之浅谈深说--教你如何成长

    ### Java之浅谈深说——教你如何成长为Java编程高手 在IT行业中,Java作为一种广泛使用的编程语言,其重要性不言而喻。对于希望成为Java编程高手的学习者来说,掌握正确的学习路径至关重要。本文将根据提供的标题、...

    Java学习之路 (强烈推荐!必看!)

    - **异常处理**:熟悉Java中的异常处理机制。 ##### 2.2 深入Java核心 - **集合框架**:学习如何使用List、Set、Map等集合类。 - **多线程**:掌握并发编程的基本原理,了解Thread类和Runnable接口。 - **泛型**:...

    浅析面向对象语言C_与Java区别_王艳娟1

    5. **运算符**:Java不支持作用域运算符“::”,也不允许运算符重载;C++不仅支持成员函数运算符重载,还支持友元函数的重载,可以直接实现对象间的四则运算。 6. **原型声明**:Java中无需提前声明就能使用类或...

Global site tag (gtag.js) - Google Analytics