原文地址:http://www.java2000.net/p11670测试代码
- package lession10;
- import java.util.ArrayList;
- import java.util.LinkedList;
- import java.util.List;
- public class Lession10 {
- public void test1(byte id) {
- System.out.println("test1(byte);");
- }
- public void test1(short id) {
- System.out.println("test1(short);");
- }
- public void test1(int id) {
- System.out.println("test1(int);");
- }
- public void test1(long id) {
- System.out.println("test1(long);");
- }
- public void test1(float id) {
- System.out.println("test1(float);");
- }
- public void test1(double id) {
- System.out.println("test1(double);");
- }
- public void test2(Object o) {
- System.out.println("test2(Object);");
- }
- public void test2(String o) {
- System.out.println("test2(String);");
- }
- public void test2(Integer o) {
- System.out.println("test2(Integer);");
- }
- public void test2(List o) {
- System.out.println("test2(List);");
- }
- public void test2(ArrayList o) {
- System.out.println("test2(ArrayList);");
- }
- public void test3(int a, float b) {
- System.out.println("test3(int,float);");
- }
- public void test3(long a, double b) {
- System.out.println("test3(long,double);");
- }
- public static void main(String[] args) {
- Lession10 o = new Lession10();
- o.test1(1);
- o.test1((byte) 1);
- o.test1((short) 1);
- o.test1(1L);
- o.test1(1.0);
- o.test1(1.0F);
-
- o.test2(new Object());
- o.test2("String");
- o.test2(new Integer(3));
- o.test2(3);
- o.test2(new LinkedList());
- o.test2(new ArrayList());
-
-
- o.test2((Object) new ArrayList());
- o.test2((List) new ArrayList());
-
- o.test3(1, 2);
- o.test3(1L, 3);
- o.test3(1, 3D);
-
-
- }
- }
写一下运行结果大家参考
test1(int);
test1(byte);
test1(short);
test1(long);
test1(double);
test1(float);
test2(Object);
test2(String);
test2(
Integer);
test2(String);
test2(List);
test2(ArrayList);
test2(Object);
test2(List);
test3(int,float);
test3(long,double);
test3(long,double);
测试:
1 其中最后一个带有注释,大家可以去掉注释看看编译效果,熟悉一些这个错误。
2 数字是最容易混淆的,大家可以用各种数字混合看看, 整数可以转化为对应精度的浮点数
3 增加更多的参数类型,一般不超过5个,测试各种组合的系统匹配情况,加深印象。
总结:
1 以最贴切,最准确的匹配进行调用
2 如果没有完全匹配的,则进行允许的不丢失精度的类型转换,int可以升级为long,float可以升级为double, 整数可以升级为浮点数
3 如果还没有匹配的,则报错 4 如果发现有多个匹配的,无法确定到底是哪一个,则编译报错
分享到:
相关推荐
方法的定义和方法的重载是 Java 编程语言的基础知识,本文将对 Java 方法的定义和方法的重载进行详细的介绍。 一、Java 方法的定义 Java 方法是解决问题的多行代码的集合,给予一个名字,以便多次使用。方法的作用...
2. **Java基础语法1**和**2**:这是Java语言的基础部分,涵盖变量、数据类型(包括基本类型和引用类型)、运算符、流程控制(如if语句、switch语句、循环语句for、while、do-while)、方法定义与调用、字符串处理等...
多态则是指一个接口可以有多种不同的实现,提高了程序的灵活性,例如方法的重写(Override)和重载(Overload)。 【形参与实参】 形参是方法定义时声明的参数,而实参是调用方法时传入的实际值。Java采用值传递...
根据提供的文件信息,“Java基础教学视频详解”主要面向Java初学者,旨在通过详细的讲解帮助学习者掌握Java基础知识。下面将围绕这一主题展开更深入的知识点介绍。 ### Java基础概述 Java是一种广泛使用的、面向...
Java中的方法重载(Overload)是面向对象编程的一个重要特性,它允许我们在同一个类中定义多个具有相同名称但参数列表不同的方法。方法重载的关键在于“多态性”(Polymorphism),即同名方法可以通过不同的参数形式...
- **方法重载**(Overload):在同一个类中,方法名相同但参数列表不同的多个方法。 - **方法覆盖**(Override):子类重写父类的方法,方法签名(方法名和参数列表)必须完全相同。 - **方法参数传递**:Java中...
本套Java入门培训课件共18页,将深入浅出地介绍这些概念,并通过实例帮助学习者掌握面向对象编程的基本技巧,为后续的Java学习打下坚实基础。通过系统学习,你将能够熟练运用Java进行面向对象的编程实践,逐步成为一...
5. **多态**:多态是指同一个引用类型在不同子类中可以有不同的表现形式,是Java实现动态绑定的关键特性,通过方法重写(Override)和方法重载(Overload)实现。 6. **包(Package)**:包是Java中管理类的一种...
Java通过方法重写(Override)和方法重载(Overload)实现多态性。 三、异常处理 Java提供了异常处理机制,通过try-catch-finally语句块捕获和处理运行时错误。异常是程序执行过程中发生的不正常情况,可以自定义...
这份"Java面试宝典java基础大全.pdf"涵盖了Java基础知识的各个方面,旨在帮助面试者准备常见问题。以下是一些关键知识点的详细解释: 1. **单个.java源文件**:一个.java源文件可以包含多个类,但只能有一个公开的...
Java 基础面试题详解 在 Java 面试中,了解一些基础知识点是非常重要的。本文将对 Java 基础面试题进行详细的解释,包括 final、finally、finalize 的区别、Anonymous Inner Class、& 和 && 的区别、HashMap 和 ...
Java中的方法重载(Overload)是面向对象编程的一个重要特性,它允许我们在同一个类中定义多个同名方法,但这些方法必须具有不同的参数列表。这样设计的主要目的是提高代码的可读性和可维护性,避免因为功能相似而起...
Java是一种广泛使用的面向对象的编程语言,其基础知识包括类、对象、继承、多态、异常处理等核心概念。以下是对给定的Java基础测试题及其答案的详细解释: 1. **习题训练1** - 关于Java继承的描述,选项C错误。子类...
Java 基础考试题知识点总结 以下是 Java 基础考试题的知识点总结: 1. 垃圾回收的优点和原理 垃圾回收是 Java 语言的一大特点,使得程序员不再需要关心内存管理问题。垃圾回收机制可以有效地防止内存泄漏,使用...
### Java基础总结基础部分 #### 运行时异常与一般异常的区别 异常是程序运行过程中可能出现的非正常状态。在Java中,异常大致分为两大类:运行时异常和非运行时异常(也称检查型异常)。 - **运行时异常**: - ...
- `Overload`指的是在同一类中可以定义多个同名的方法,这些方法具有相同的名称但拥有不同的参数列表(即参数个数不同或参数类型不同)。 - 这种机制使得开发人员能够根据传入的不同参数类型或数量来决定具体执行...
### Java基础必备知识 #### 一、基础语法 在学习Java之前,首先需要了解Java的发展历程,这有助于我们更好地理解其设计理念。接着是搭建开发环境并编写第一个程序——HelloWorld,以此来熟悉Java的基本语法。 - *...
Java 基础试题涵盖了多个核心概念,这些概念对于理解和掌握 Java 编程语言至关重要。以下是对题目中涉及知识点的详细解释: 1. 浮点数类型:在 Java 中,`float` 类型用于存储浮点数,但 `3.4` 是一个 `double` ...
方法重载(overload)是Java中一种强大的特性,它允许在同一个类中存在多个同名方法,这些方法的参数类型、个数或者顺序不同。当调用一个重载方法时,Java虚拟机会根据传递给方法的参数自动选择合适的重载版本。这种...