`
cakin24
  • 浏览: 1396887 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Java中的方法重载应用

    博客分类:
  • java
阅读更多

一 方法重载介绍
如果一个类中包含了两个或两个以个以上的方法名相同,但形参列表不同,则称为方法重载。

 

二 方法重载应用
1 代码示例

public class Overload
{
	// 下面定义了两个test()方法,但方法的形参列表不同
	// 系统可以区分这两个方法,这种被称为方法重载
	public void test()
	{
		System.out.println("无参数");
	}
	public void test(String msg)
	{
		System.out.println("重载的test方法 " + msg);
	}
	public static void main(String[] args)
	{
		Overload ol = new Overload();
		// 调用test()时没有传入参数,因此系统调用上面没有参数的test()方法。
		ol.test();
		// 调用test()时传入了一个字符串参数,
		// 因此系统调用上面带一个字符串参数的test()方法。
		ol.test("hello");
	}
}

2 运行结果
无参数
重载的test方法 hello
3 结果分析
虽然两个test的方法名相同,但因为他们的形参列表不同,所以系统可以正常区分这两个方法。
 
三 重载方法里包含个数可变的形参
1代码示例

public class OverloadVarargs
{
	public void test(String msg)
	{
		System.out.println("只有一个字符串参数的test方法 ");
	}
	// 因为前面已经有了一个test()方法,test()方法里有一个字符串参数。
	// 此处的长度可变形参里不包含一个字符串参数的形式
	public void test(String... books)
	{
		System.out.println("****形参长度可变的test方法****");
	}
	public static void main(String[] args)
	{
		OverloadVarargs olv = new OverloadVarargs();
		// 下面两次调用将执行第二个test()方法
		olv.test();
		olv.test("aa" , "bb");
		// 下面将执行第一个test()方法
		olv.test("aa");  //a
		// 下面调用将执行第二个test()方法
		olv.test(new String[]{"aa"});   //b
	}
}

 2运行结果
****形参长度可变的test方法****
****形参长度可变的test方法****
只有一个字符串参数的test方法
****形参长度可变的test方法****

当注释掉第1个test方法,运行结果如下:
****形参长度可变的test方法****
****形参长度可变的test方法****
****形参长度可变的test方法****
****形参长度可变的test方法****
3结果分析
当调用a处代码时,系统会执行重载的test(String)方法,如果需要调用test(String... books)方法,又只想传入一个字符串参数,则可釆用b处代码重栽;而如果将第1个test方法注释掉,所有的test调用都重载第2个test方法。基于以上分析,大部分时候并不推荐重载个数可变的方法,它容易降低程序的可读性。

0
2
分享到:
评论

相关推荐

    Java 中方法的重载与覆盖

    ### Java中的方法重载(Overloading)与方法覆盖(Overriding) #### 方法的重载(Overloading) ...总结来说,在Java中正确理解和应用方法重载和方法覆盖是非常重要的,这有助于编写更加灵活和高效的代码。

    Java方法重载的实例

    Java方法重载是面向对象编程中的一个重要概念,它允许在一个类中定义多个具有相同名称但参数列表不同的方法。这样做的好处在于,通过方法名就可以直观地理解方法的功能,而具体的执行逻辑则由传入的参数类型和数量...

    java方法的重载

    在Java编程语言中,方法重载(Overloading)是一个非常重要的概念,它允许我们在一个类中定义多个同名的方法,但这些方法必须具有不同的参数列表。这种灵活性使得程序设计更加直观且易于理解。下面将详细介绍Java...

    Java 程序显示类中方法的重载.docx

    Java 中方法重载的应用场景非常广泛,例如,在数学运算中,我们可以使用方法重载来实现不同的运算符重载;在数据库操作中,我们可以使用方法重载来实现不同的数据库操作;在网络编程中,我们可以使用方法重载来实现...

    java中重载与重写

    在Java编程语言中,方法的重载(Overloading)与重写(Overriding)是两个非常重要的...通过对比分析,我们可以更加清晰地理解Java中重载与重写之间的区别及其应用场景。这对于编写高效、可维护的Java代码至关重要。

    Java重写重载线程

    ### Java中的方法重载与重写以及线程概念详解 ...通过以上分析可以看出,Java中的方法重载与重写以及线程的概念是Java编程中非常重要的基础知识点,理解并掌握这些概念对于编写高质量的Java应用程序至关重要。

    Java方法重载

    在实际应用中,方法重载可以实现多种业务逻辑。例如,在用户类中,可以编写三个重载方法,分别实现现金支付、信用卡支付和现金与信用卡同时支付的业务逻辑。 public boolean pay(double money,double price){...} ...

    Java中方法重载的测试代码清单.pdf

    在Java编程语言中,方法重载(Method Overloading)是一种重要的多态性表现形式,它允许在一个类中定义多个同名方法,但每个方法的参数列表必须不同,可以通过参数的数量、类型或者顺序来区分。本篇文档通过具体的...

    java中的方法重载和覆盖的区别宣贯.pdf

    "Java中的方法重载和覆盖的区别" Java中的方法重载和覆盖是两个常见的概念,但很多开发者容易混淆这两...方法重载和方法覆盖都是Java中的重要概念,开发者需要正确地理解和应用它们,以便编写更加灵活和可维护的代码。

    Java方法重载详细说明

    在Java编程语言中,方法重载(Method Overloading)是一种重要的特性,它允许我们在同一个类中定义多个同名方法,但这些方法的参数列表必须有所区别。方法重载的主要目的是提高代码的可读性和复用性,使得我们可以...

    Java重写和重载概念及区别梳理

    同时,可以在同一个类中定义多个同名但参数不同的方法,演示方法重载的应用。通过实际编码和运行,能够更直观地理解这两个概念。 总之,Java的重写和重载是面向对象编程的重要特性,它们使得代码更加灵活、可维护。...

    Java中方法重写与方法重载的比较.pdf

    Java中的方法重写(Overriding)与方法重载(Overloading)是面向对象编程中两个重要的概念,它们在实现多态性和代码复用时起到关键作用。本文将深入探讨这两个概念,以及它们在Java编程中的具体应用和区别。 1. **...

    java面向对象重载和重写

    在Java中,重载(Overloading)指的是在同一个类中可以有多个同名的方法,但这些方法的参数列表必须不同,即参数的个数、类型或顺序至少有一个不相同。重载并不关心方法的返回类型,因为返回类型不能作为区分方法的...

    Java编程中对象的创建与使用以及方法的重构与重载的区别说明

    ### Java编程中对象的创建与使用以及方法的重构与重载的区别说明 #### 对象的创建与使用 在Java编程语言中,一切皆基于对象。理解如何创建对象以及如何使用对象是学习Java的基础。 ##### 1. 对象的创建过程 创建...

    Java 实例 - 方法重载演示源代码-详细教程.zip

    Java 方法重载是面向对象编程中的一个重要概念,它允许在一个类中定义多个具有相同名称但参数列表不同的方法。这个概念在Java编程中被广泛应用,因为它提供了代码的复用性和灵活性。下面将详细介绍Java方法重载及其...

    Java 零基础方法重载.md

    在Java语言中,方法重载(Overloading)是一种允许在同一个类内定义多个同名方法的技术,但这些方法必须具有不同的参数列表(参数个数不同或参数类型不同)。这种特性极大地增强了程序的灵活性与可读性,使得开发...

    java 使用构造方法的重载计算课程的GPA值

    在实际应用中,`HeavyTest.java`可能是一个测试类,用来验证`Course`类和`GPACalculator`类的功能。例如,它可以创建几个`Course`对象,然后调用`calculateGPA`方法来测试GPA的计算是否正确。`Java.jpg`可能是与课程...

    Java编程那些事儿55—方法重载和参数传递

    在Java编程语言中,**方法重载**(Overloading)是一个非常重要的概念,它允许我们定义多个具有相同名称但参数列表不同的方法。这种方法重载提高了代码的可读性和灵活性。 根据给定文件的描述部分:“参数列表相同指...

    方法重载和方法重写

    3. **返回类型**:重载不关注返回类型,而重写时返回类型必须相同或者子类方法的返回类型是父类方法返回类型的子类型(Java中的规则)。 4. **访问权限**:重写时子类方法的访问权限不能更低,可以更高。 5. **...

    JAVA面试题

    第二题的代码示例展示了Java中的循环控制结构和条件语句的应用。在这个例子中,`for`循环用于重复执行一系列语句直到满足特定条件为止,而`if`语句则用于根据条件的真假决定是否执行特定代码块。`break`关键字用于...

Global site tag (gtag.js) - Google Analytics