方法的定义、调用、重载
程序员文章站
2024-03-25 23:55:52
...
方法
方法就是语句块的集合,包含于类或者对象中,实现某一个功能,相当于类的一个行为。
方法的设计原则:方法的本质就是一个功能。设计方法的时候,一个方法只完成一个功能,保持方法的原子性,有利于后期扩展。方法的命名规则采用驼峰标识法。
方法的定义
方法包含方法头和方法体,没有具体实现方法的方法属于抽象方法,方法头包含修饰符、返回值类型、方法名、参数类型。方法体包含具体的语句,定义该方法的功能。
- 修饰符:(可选)定义该方法的访问类型,告诉编译器如何调用该方法。
- 返回类型:有的方法功能实现完需要返回值,根据值的类型需要声明对应的数据类型,有的方法实现完功能但是没有返回值,这种情况返回值类型需要使用关键字void。
- 方法名:方法的实际名称,标识符。方法名与参数列表(参数个数,参数类型,参数排列顺序)共同构成方法签名。(唯一)
- 参数类型:(可选)方法可以不包含参数。
- 方法体:定义该方法的功能,方法体包含具体的实现语句。
修饰符 返回值类型 方法名(参数类型 形式参数){
方法体
//return 返回值;
}
方法的调用
- 调用方法(没有static修饰):对象名.方法名(实参列表)
- 当方法有返回值时,方法的调用通常被当作一个值,即把方法当成一个值赋值给变量。
int max = max(5,55);
- 如果方法的返回类型是void的时候,方法的调用一定是一条语句。
System.out.println();
示例:
package method;
public class MaxDemo {
public static void main(String[] args) {
//这里a,b为实际参数,把5赋值给a,55赋值给b
int max = max1(5,55);
System.out.println(max);
max2(55,66);
}
//定义一个比较大小的方法
//a,b均属与形式参数,可不写。
//不用static修饰方法的话,要调用方法需要实例化MaxDemo类,通过对象调用方法
public static int max1(int a,int b){
//定义一个变量result,用于存放比较结果。
int result = 0;
if(a>b){
result = a;
}else{
result = b;
}
return result;
}
public static void max2(int a,int b){
int result = 0;
if(a>b){
result = a;
}else{
result = b;
}
System.out.println(result);
}
}
方法的重载
重载就是在一个类中,有相同的函数名称,但形参不同的函数。
方法的重载的规则:
- 方法名必须相同。
- 参数列表(参数类型,参数个数,参数的排列顺序)必须不同。
- 方法的返回类型可以相同也可以不同。
- 返回类型不同不足以成为方法的重载。
实现的原理:方法名称相同时,编译器会根据调用方法的参数个数,参数类型等取逐个匹配,选择对应的方法,如果匹配失败,则编译器会报错。
示例(求两个整数的均值和求两个小数的均值):
public class MethodOverload {
//方法的重载
public static void main(String[] args) {
//整数
int resultInt = avg(15,20);
System.out.println(resultInt);
//小数
double resultDouble = avg(1.11,3.33);
System.out.println(resultDouble);
}
//求两个整数的平均数
public static int avg(int a,int b){
return (a+b)/2;
}
//求两个小数的平均数
public static double avg(double a,double b){
return (a+b)/2;
}
}
上一篇: Java 05 方法与重载 方法定义 方法调用 方法重载
下一篇: Unity实现3D书写功能