Java OverLoad(方法重载)
来源:互联网 发布:如何入驻淘宝服务商 编辑:程序博客网 时间:2024/06/05 06:48
一、什么是方法重载
1、定义: 在Java程序中,同一个类可以有两个或者多个方法名字相同,只要参数不同即可,则称为方法的重载。
注意:
1) 必须是在同一个类中
2) 方法名相同
3) 方法参数的个数、顺序或类型不同
4) 与方法的修饰符或返回值没有关系
2、如何区分调用哪个方法
当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行
备注: OC语言是没有方法重载一说的,因为同一个类里面不允许出现相同方法名的方法。
例如:
- (void)test:(int)number;- (void)test:(float)number;这样编译是不允许通过的,因为可以看出OC可以通过参数个数实现函数重载的。
3、主函数可以被重载么 ?
主函数 : 是一个特殊的函数,是固定格式的,作为程序入口,可以被jvm识别。
public static void main(String[] args){}/*main 不是关键字,是特殊的一个单词而已,能够被jvm识别。主函数当然是可以被重载,但是即使重载了,Jvm还是会识别到真正的主函数。JVM 在调用 main 函数是,传入的是new String[0]; 那么如何验证呢 ?class MainDemo{public static void main(String[] args){// 调用 MainTest 的主函数String[] arr = {"1","2"};MainTest.main(arr);}}class MainTest{public static void main(String[] args){for(String value : args){system.out.println(value);}}}*/
二、方法重载的一些例子
创建一个类文件,命名为MethodOverLoad,并勾选入口函数。演示print方法重载。
1、定义一个无参无返回值的print方法
public void print(){System.out.println("无参的print方法");}
2、定义一个有参数无返回值的print方法
public void print(int age,String name){System.out.println("age:"+age);System.out.println("name:"+name);}
3、定义一个有参数有返回值的print方法
public void print(int age,String name){System.out.println("age:"+age);System.out.println("name:"+name);}
4、定义一个有参数有返回值的print方法
public void print(String name,int age){System.out.println("age:"+age);System.out.println("name:"+name);}
在入口函数函数中调用如下:
public static void main(String[] args) {MethodOverLoad hello = new MethodOverLoad();hello.print();hello.print(12, "jack");System.out.println();hello.print("rose", 23);}
输出结果:
无参的print方法age:12name:jackage:23name:rose
三、随机数
1、通过 (int)(Math.random() * 100) 生成 100 以内的随机数
2、Math 类是用于进行算术操作的类,Math.random() 生成 0–1 的浮点数。
需求:编写一个JAVA程序,创建指定长度的 int 型数组,并生成 100 以内随机数为数组中的每个元素赋值,然后输出数组。
实现:
自定义方法如下
public int[] getRandomNumver(int length){int[] numbers = new int[length];for(int i = 0;i < length;i++){ numbers[i] = (int)(Math.random()*100);} return numbers; }
函数入口调用
public static void main(String[] args) {MethodPartise hello = new MethodPartise();int[] nums = hello.getRandomNumver(5);System.out.println(Arrays.toString(nums));}
输出结果:
[33, 28, 31, 40, 26]
demo地址
0 0
- Java OverLoad(方法重载)
- java 的方法重载overload
- [java]静态方法overload重载
- java中的方法重载 overload
- Java方法的重载(overload)
- 静态方法overload重载
- 方法重载Overload
- java6:方法重载(overload)
- 方法的重载(overload)
- 方法重载(overload)
- java函数重载 overload
- Java方法重载(Overload)与方法重写(Override)
- 黑马程序员:Java自定义标记与Java方法重载(overload)
- 从一道测试题分析java中的方法重载(overload)
- 从一道测试题分析java中的方法重载(overload)
- java方法的重载(Overload)与重写(Override)
- JAVA方法的重载(overload)和覆盖(override)
- JAVA问题总结之19--方法的重载(overload)
- 树莓派wifi配置
- STM32定时器时间的计算方法
- Centos安装postgresql的通用方法
- CCFCSP201403-1相反数
- docker Unit docker.service is masked
- Java OverLoad(方法重载)
- 将二叉树拆成链表
- CCFCSP201403-2窗口
- ubuntu 14.04系统安装 Scientific Toolworks Understand 软件教程
- Java源码集合类TreeMap学习1——数据结构3二叉树创建代码
- JZOJ 5048. 【GDOI2017模拟一试4.11】IQ测试
- LearningNotes 变分自编码(VariationalAutoEncoder VAE)
- 文档对象模型DOM(获取元素节点、设置节点属性)
- 百练_2757字符串数组排序问题