Java允许一个类中定义多个方法,只要参数列表不同就行了。如果同一个类中包含了两个或者两个以上的方法的方法名相同,但形参列表不同,则被称为方法重载。

/*
参数类型不同的重载
*/
public class OverLoad
{
//下面定义两个test()方法,但方法的形参列表不同
//系统可以区分这个方法,被称为方法重载
public void test(){
System.out.println("无参数!");
}
public void test(String A){
System.out.println("重载test()方法:"+A); }
public static void main(String[] args)
{
OverLoad ol=new OverLoad();
ol.test();
ol.test("yes"); }
}

输出结果为:

无参数!
重载test()方法:yes

/*
参数个数不相同的重载
*/
public class NumOverLoad
{
public void test(){
System.out.println("只有一个字符串参数的test方法!");
}
/*
前面已经有一个test()方法,test()方法里只有一个字符串参数
此处的个数可变参数里不包括一个字符串参数的形式
*/ public void test(String...books){
System.out.println("****形参可变的test()方法****"); }
public static void main(String[] args)
{
NumOverLoad nol=new NumOverLoad();
//下面两次调用将执行第二个test()方法
nol.test();
nol.test("aa","bb");
//下面调用第一个test()方法
nol.test("aa");
//下面调用第二个test()方法
nol.test(new String[]{"aa"});
}
}

输出结果:

只有一个字符串参数的test方法!
****形参可变的test()方法****
****形参可变的test()方法****
****形参可变的test()方法****

注意:一般不推荐重载形参参数个数可变的方法,因为在上述例子中,如果需要调用test(String ...books)方法,又只想传入一个字符串参数,则可采用传入字符串组的形式。如果只是简单传入一个字符串,那么2个方法就会出现混淆。

Java方法重载的更多相关文章

  1. java方法——重载2

    什么是Java方法重载 方法重载的定义 1 对于同一个类,如果这个类里面有两个或者多个重名的方法,但是方法的参数个数.类型.顺序至少有一个不一样,这时候局构成方法重载. END 方法重载示例 1 pu ...

  2. Java 方法重载,方法重写(覆盖),继承等细节注意

    1.方法重载(method overload)的具体规范 如果有两个方法的方法名相同,但参数不一致,那么可以说一个方法是另一个方法的重载. 一.方法名一定要相同. 二.方法的参数表必须不同,包括参数的 ...

  3. java方法重载和重写

    1.java的方法重载和重写,表示两种不同的类型.this关键字,出现在类的构造方法中,代表使用该构造方法所创建的对象.,this可以出现在实例方法中核构造方法中.但是不能出现在类方法中.实例方法只能 ...

  4. Java 方法重载 方法重写

    方法重载规则 参数个数不同 参数个数相同,但参数列表中对应的某个参数的类型不一样 方法的返回类型和参数名称不参与重载 "编译期绑定",,因为未产生对象,只看参数.引用类型绑定方法 ...

  5. [Java学习] Java方法重载

    在Java中,同一个类中的多个方法可以有相同的名字,只要它们的参数列表不同就可以,这被称为方法重载(method overloading). 参数列表又叫参数签名,包括参数的类型.参数的个数和参数的顺 ...

  6. 【知了堂学习笔记】java 方法重载与重写的归纳

    方法重载:Java的方法重载,就是在类中可以创建多个方法,它们可以有相同的名字,但必须具有不同的参数,即或者是参数的个数不同,或者是参数的类型不同.调用方法时通过传递给它们的不同个数和类型的参数来决定 ...

  7. Java 方法重载和多态

    先来看看什么是方法重载? 方法重载的要求是:方法名相同,参数列表不同(不同的参数类型或者参数顺序或者参数个数).至于方法的其他部分,如方法返回值类型和修饰符,与方法重载没有任何关系.最好加上@Over ...

  8. java——方法重载与重写、构造方法、this关键字、static关键字、strictfp关键字、类的导入

    Java SE5新增加@Override注解,它并不是关键字,但是可以把它当作关键字使用.当你想要覆写(重写)某个方法时,可以选择添加这个注解,在你不留心重载而并非覆写了该方法时,编译器就会生成一条错 ...

  9. Java 方法重载与引用数组类型

    1.方法重载  1)方法的签名 方法的签名包含方法名和参数列表 一个类中,不可以有两个方法的签名完全相同,即一个类中不能有两个方法的方法名和参数列表都一样. public class Test{ pu ...

随机推荐

  1. ASP.NET页面与IIS底层交互和工作原理详解(第一回)

    引言 我查阅过不少Asp.Net的书籍,发现大多数作者都是站在一个比较高的层次上讲解Asp.Net.他们耐心.细致地告诉你如何一步步拖放控件.设置控件属性.编写CodeBehind代码,以实现某个特定 ...

  2. Python 标准库 urllib2 的使用细节[转]

    转自[http://zhuoqiang.me/python-urllib2-usage.html] Python 标准库中有很多实用的工具类,但是在具体使用时,标准库文档上对使用细节描述的并不清楚,比 ...

  3. 转: 关于 ssl的建立链接的过程

    转自:  http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html SSL/TLS协议运行机制的概述   作者: 阮一峰 日期: 2014年2月 5日 互 ...

  4. JQuery Validate验证显示错误提示位置

    验证多个Name值相同的元素: $(".send").click(function () { var a = 0; var b = 0; var c = 0; var d = 0; ...

  5. 如何使用OpenShare部署和运营企业门户

    如何使用OpenShare部署和运营企业门户 这篇Blog是偏向企业内整体门户部署和运营的指南,是偏向整体管理和规划的,并不是针对终端用户的OpenShare软件操作手册,具体的操作可以上优酷看相关视 ...

  6. 初见,Devexpress

    [绥江一百]http://www.sj100.net                                                  欢迎,进入绥江一百感谢点击[我的小网站,请大家多 ...

  7. Part 98 Anonymous methods in c#

    What is an anonymous method? Anonymous method is a method without a name. Introduced in C# 2.0,they ...

  8. slickgrid 一个优秀的JS表格插件

    从熟悉JS以来,慢慢的喜欢上了这个门语言. 不自觉的,看了好多js的知识,可能也是因为做项目的原因吧. 这里稍微说下一个JS的grid插件 --slickgrid 了解这个插件也不是很多,稍微了解了下 ...

  9. Directadmin清空所有Tickets命令

    利用一条命令就快速实现了清空所有Tickets的方法,希望此例子对大家有帮助.     即可清空所有工单,包括系统提示 :> /usr/local/directadmin/data/admin/ ...

  10. Oracle中建立物化视图报错

    Oracle中建立物化视图报错 今天在建立视图的时候,报了一个错:ORA-01723: zero-length columns are not allowed. 建视图的语句: create mate ...