一、方法的概述
在Java编程中,有一个重要的知识点----方法。
方法(method)即一个具有特殊功能的代码集,代码集则是由具有独立功能的代码块组成的一个整体。
1、方法的定义(无参数)
1.1 定义格式
public static void 方法名(){
方法体;
}
例:
public static void method(){
方法体;
}
1.2 方法的调用(无参数)
格式:
方法名();
例(基于上述的例子):method();
1.3 代码实现
我们写一个简单个代码来更好的体会“方法”:
运行结果:
1.4 方法的注意事项
(1)方法必须先创建才可以使用,该过程称为方法定义。
(2)方法创建后需要手动使用后才执行,该过程称为方法调用。
(3)方法与方法是同级关系,不能在方法中嵌套定义方法,但可以在方法中调用另外的方法。
对于第(3)点,我们举个例子来说明:
运行结果:
2、方法的定义(含参数)
2.1 定义格式
①
public static void 方法名(参数1){
方法体;
}
②
public static void 方法名(参数1,参数2,参数3......){
方法体;
}
例:
public static void 方法名(int num1,int num2){
方法体;
}
注意:
·方法定义时,参数中的数据类型与变量名都不能缺少,缺少任意一个程序将报错。
·方法定义时,多个参数之间使用逗号( ,)分隔。
2.2方法的调用(含参数)
①
方法名(参数);
②
方法名(参数1,参数2);
注意:方法调用时,参数的数量与类型必须与方法定义中的设置相匹配。
2.3代码实现
运行结果:
3、带返回值方法的定义和调用
3.1 定义格式
public static 数据类型 方法名 ( 参数 ) {
return 数据 ;
}
例:
public static int getMax( int a, int b ) {
return 数据 ;
}
注意:方法定义时return后面的返回值与方法定义上的数据类型要匹配。
3.2 、带返回值方法的调用
方法名 ( 参数 ) ;
数据类型 变量名 = 方法名 ( 参数 ) ;
例:
getMax(10,20);
int max = getMax(10,20);
注意:方法的返回值通常会使用变量接收,否则该返回值将无意义!
4、补充说明
(1)定义方法时,要做到两个明确
·明确返回值类型
明确方法操作完毕之后是否有数据返回,如果没有,写void(在方法定义时);如果有,写对应的数据类型。
·明确参数
明确参数的类型和数量。
(2)调用方法时的注意
·void类型的方法,直接调用即可
·非void类型的方法,推荐用变量接收调用
(3)形参和实参
形参:方法定义中的参数
实参:方法调用中的参数
(4)方法的参数传递说明
①
基本数据类型的参数,形式参数的改变,不影响实际参数。
因为每个方法在栈内存中,都会有独立的栈空间,方法运行结束后就会弹栈消失。
②
引用类型的参数,形式参数的改变,影响实际参数的值。
因为引用数据类型的传参,传入的是地址值,内存中会造成两个引用指向同一个内存的效果,所以即使方法弹栈,堆内存中的数据也已经是改变后的结果。
(5)栈区的方法调用过程
通过第(4)点,我们引入方法在栈区的调用过程,为了更直观的理解,我们通过一张图来看。
5、方法重载
5.1方法重载的概念
方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载:
(1)多个方法在同一个类中
(2)多个方法具有相同的方法名
(3)多个方法的参数不相同,类型不同或者数量不同
对于第(3)点的具体体现:
·参数数量不同
·形参的数据类型不同
·参数顺序不同(一般不建议用)
5.2注意事项
(1)重载仅对应方法的定义,与方法的调用无关,调用方式参照标准格式。
(2)重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回值来判定两个方法是否相互构成重载。
(3)方法的参数不同跟参数名称无关。
以上内容为我自己在学习完方法这一章内容后的总结,欢迎各位大佬的评论与指正!