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. 【安卓面试题】简述一下Android系统的架构?

    安卓系统的架构分为四层:应用程序层,应用框架层,系统框架层和内核层. 应用程序层:开发者编写的供用户使用的应用 应用框架层:开发者构建应用程序可能用到的API, 例如ActivityManager 系 ...

  2. Linux Bash Shell学习笔记

    参数扩展: 1.被名称引用的参数称作变量2.被数字引用的参数称作位置参数3.被特定符号引用的参数具有特殊的含义和用途,被称作Bash的特殊内部变量引用. 基本参数扩展:字符$会引导参数扩展.大括号是可 ...

  3. 《UNIX环境高级编程》学习心得 二

    窝萌来看我们看到这本书里的第一个程序 #include "apue.h" #include <dirent.h> int main(int argc, char *ar ...

  4. ReactNative学习-滑动查看图片第三方组件react-native-swiper

    滑动查看图片第三方组件:react-native-swiper,现在的版本为:1.4.3,该版本还不支持Android. 下面介绍的是该组件的一些用法,可能总结的不完整,希望大家一起来共同完善. 官方 ...

  5. could not read data from '/Users/xxxx/myapp-Info.plist'

    xcode编译报错如下: could not read data from '/Users/iamme/Documents/XCode/myapp/myapp/myapp-Info.plist': T ...

  6. phpQuery用法

    了解phpQuery使用前了温习jquery.js的选择用法 jquery选择器,还有一个衍生产品QueryList 例: include 'phpQuery.php'; phpQuery::newD ...

  7. 一.CSS工作原理

    CSS全称层叠样式表,它是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言.是能够真正做到网页表现与内容分离的一种样式设计语言,能够对网页 ...

  8. php学习笔记7--php中的数组

    php中的数组 1.数组的定义:显式方式:$arr = array(1,2,3,4,5); $arr1 = array('name'=>'dqrcsc','age'=>'24');隐式方式 ...

  9. ubuntu tty 永久修改中文环境为英文

    以下代码只针对当前用户tty1有效, 对我来说足够了 vim ~/.bashrc 加入如下代码 if [ "$(tty)" = "/dev/tty1" ]; t ...

  10. Row_Number实现分页(适用SQL)

    1:首先是 select ROW_NUMBER() over(order by id asc) as 'rowNumber', * from table1 生成带序号的集合 2:再查询该集合的 第 1 ...