博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第3章 方法的重载及参数传递
阅读量:5898 次
发布时间:2019-06-19

本文共 3058 字,大约阅读时间需要 10 分钟。

1.1 方法重载的概述和基本使用

在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
方法重载特点
与返回值类型无关,只看方法名和参数列表
在调用时,虚拟机通过参数列表的不同来区分同名方法
1.1.1 案例代码十

package com.itheima_03;/* * 方法重载:在同一个类中,出现了方法名相同的方法,这就是方法重载。 * 方法重载特点: * 方法名相同,参数列表不同。与返回值无关。 * 参数列表不同: * 参数的个数不同。 * 参数对应的类型不同。 * 注意: * 在调用方法的时候,java虚拟机会通过参数列表的不同来区分同名的方法。 */public class MethodDemo {public static void main(String[] args) {int a = 10;int b = 20;// 求和int result = sum(a, b);System.out.println("result:" + result);int c = 30;// 求和//int result2 = sum2(a,b,c);//System.out.println("result2:"+result2);result = sum(a,b,c);System.out.println("result:"+result);}//两个float类型的数据求和public static float sum(float a,float b) {return a + b;}// 三个整数的求和public static int sum(int a,int b,int c) {return a + b + c;}/*public static int sum2(int a, int b, int c) {return a + b + c;}*/// 两个整数的求和public static int sum(int a, int b) {return a + b;}}

1.2 方法重载练习1.2.1 方法重载练习之比较数据是否相等1.2.2 代码案例十一

package com.itheima_03;/* * 需求:比较两个数据是否相等。参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型, *     并在main方法中进行测试 */public class MethodTest {public static void main(String[] args) {// 调用System.out.println(compare(10, 20));System.out.println("-------------");System.out.println(compare((byte)10, (byte)20));System.out.println("-------------");System.out.println(compare((short)10, (short)20));System.out.println("-------------");//System.out.println(compare((long)10, (long)20));System.out.println(compare(10L, 20L));}// 两个byte类型的public static boolean compare(byte a, byte b) {System.out.println("byte");// 第一种写法// boolean flag = a==b?true:false;// return flag;// 第二种写法// boolean flag = a == b;// return flag;// 第三种写法return a == b;}// 两个short类型的public static boolean compare(short a, short b) {System.out.println("short");return a == b;}// 两个int类型的public static boolean compare(int a, int b) {System.out.println("int");return a == b;}// 两个long类型的public static boolean compare(long a, long b) {System.out.println("long");return a == b;}}

1.3 方法中参数传递1.3.1 方法的形式参数为基本数据类型

方法的参数是基本类型的时候:
形式参数的改变不影响实际参数。
形式参数:用于接收实际数据的变量
实际参数:实际参与运算的变量
1.3.2 代码案例十二

public class ArgsDemo {public static void main(String[] args) {// 定义变量int a = 10;int b = 20;System.out.println("a:" + a + ",b:" + b);// a:10,b:20change(a, b);System.out.println("a:" + a + ",b:" + b);// a:10,b:20}public static void change(int a, int b) { // a=10,b=20System.out.println("a:" + a + ",b:" + b);// a:10,b:20a = b; // a=20;b = a + b;// b=40;System.out.println("a:" + a + ",b:" + b);// a:20,b:40}}

1.3.3 方法的形式参数是基本类型图解

第3章 方法的重载及参数传递
1.3.4 方法的形式参数为引用数据类型1.3.5 代码案例十三

package com.itheima_04;/* * 方法的参数是引用类型: * 形式参数的改变直接影响实际参数 */public class ArgsDemo2 {public static void main(String[] args) {// 定义数组int[] arr = { 1, 2, 3, 4, 5 };// 遍历数组for (int x = 0; x < arr.length; x++) {System.out.println(arr[x]);}System.out.println("----------------");change(arr);for (int x = 0; x < arr.length; x++) {System.out.println(arr[x]);}}public static void change(int[] arr) {for (int x = 0; x < arr.length; x++) {// 如果元素是偶数,值就变为以前的2倍if (arr[x] % 2 == 0) {arr[x] *= 2;}}}}

1.3.6 方法的形式参数是引用类型图

第3章 方法的重载及参数传递

转载于:https://blog.51cto.com/13517854/2084570

你可能感兴趣的文章
Windows上Python2.7安装Scrapy过程
查看>>
Android 网络HTML查看器
查看>>
Tensorflow神经网络预测股票均价
查看>>
Matlab随笔之插值与拟合(上)
查看>>
关于大数据和数据库的讨论
查看>>
Chapter 3:Code Style in Django
查看>>
【长期有效】1分钱抢100M上网流量及iPhone5S免费抽奖
查看>>
nignx禁止执行php文件
查看>>
从JDK源码角度看Short
查看>>
BOM操作
查看>>
组织为什么没能采用CI和CD
查看>>
黑客通过控制麦克风窃取乌克兰600GB数据
查看>>
格物斯坦:机器人高手决战申城,IRM开启孩子新视界
查看>>
FIDO联盟拥抱政府监管,全面打造安全可信网络
查看>>
Aruba携手中国电信云南公司共建 “智慧校园”
查看>>
zGlue选择 ASE 作为战略制造合作伙伴,加速物联网市场开发
查看>>
BlackNurse新型DoS攻击 15M流量就可以打瘫思科防火墙 思科做出了回应
查看>>
Linux下的APT攻击工具HDD Rootkit分析
查看>>
Interop 2015:思科为其SDN架构做好安全防护
查看>>
Windows 10中国普及速度慢 原因是盗版难
查看>>