java_方法的定义、调用、重载

方法的定义

1 概述

方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。
当我们需要这个功能的时候,就可以去调用。这样即实现了代码的复用性,也解决了代码冗余的现象。

2 方法的定义

定义格式:

修饰符 返回值类型 方法名(参数列表) {
		//代码省略...
		return 结果;
}

定义格式解释:
修饰符: public static 等
返回值类型:表示方法运行的结果的数据类型
方法名:定义的方法起名,满足标识符的规范,用来调用方法。
参数列表: 方法在运算过程中的未知数据,调用者调用方法时传递
return:将方法执行后的返回值带给调用者,方法执行到 return ,整体方法运行结束

3 定义方法的两个明确

题目:定义方法实现两个整数的求和计算。

明确返回值类型:方法计算的是整数的求和,结果也必然是个整数,返回值类型定义为int类
型。
明确参数列表:计算哪两个整数的和,并不清楚,但可以确定是整数,参数列表可以定义两
个int类型的 变量,由调用者调用方法时传递

public class Demo {
	public static void main(String[] args) {
		
		int sum = getSum(5, 6);
		System.out.println("sum = " + sum);
		}
		/*
		定义方法的2个明确
		1.明确返回值类型, 2个整数求和,返回值是整数
		2.明确参数列表, 不知道哪2个数求和.int a, int b
		*/
		public static int getSum(int a, int b) {
		int c = a + b;
		return c;
	}
}

4 方法定义注意事项

定义位置,方法必须定义在一个类中方法外
方法不能定义在另一个方法的里面
一个类中不能定义2个一模一样的方法
返回值类型,必须要和 return 语句返回的类型相同,否则编译失败 。

方法的调用流程图解

在这里插入图片描述

方法重载

定义2个int数求和,定义3个int数求和时,2个数求和,3个数求和功能是一样的.如果定义不同的方法名使用起来不方便.最好取相同的名称

方法重载:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修
饰符和返 回值类型无关。

参数列表:个数不同,数据类型不同,顺序不同
重载方法调用:JVM通过方法的参数列表,调用不同的方法。

题目1
比较两个数据是否相等。参数类型分别为两个 byte 类型,两个 short 类型,两个 int 类型,两个
long 类型,并在 main 方法中进行测试。

public class Method_Demo{
	public static void main(String[] args) {
		//定义不同数据类型的变量
		byte a = 10;
		byte b = 20;
		short c = 10;
		short d = 20;
		int e = 10;
		int f = 10;
		long g = 10;
		long h = 20;
		// 调用
		System.out.println(compare(a, b));
		System.out.println(compare(c, d));
		System.out.println(compare(e, f));
		System.out.println(compare(g, h));
		}
		// 两个byte类型的
		public static boolean compare(byte a, byte b) {
		System.out.println("byte");
		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;
	}
}

猜你喜欢

转载自blog.csdn.net/guixinchn/article/details/107570208