1. 什么是方法?
在刚开始学习Java语言时,还没有从函数的角度脱离出来,会经常不停的将方法说为函数。那方法 和函数 有什么区别呢?通过查找资料和自我理解,有如下的思考,如果有不对的,请大家回复改正。
函数: 是一段可以重复调用的代码,通过名字来进行调用。它能将数据传递进去进行一些处理,然后返回数据(或者没有返回值),函数和对象无关。
方法: 也是一段可以重复调用的代码,也通过名字来进行调用的,但是它跟一个对象相关联。方法可以操作类内部由private封装的数据。
根据以上解释我们可以将方法看作时函数也无妨,它决定了一个对象能够接收什么样的消息。
2. 方法的声明(定义)
修饰符 返回值类型 方法名([参数类型 参数名1, 参数类型 参数名2, ...]){
执行语句
...
[return 返回值;]
}
// []中的数据可以没有
我们可以看到方法的基本组成包括:名称、参数、返回值和方法体。
- 修饰符:方法的修饰符较多,有对访问权限进行限定的,有静态修饰符static,还有最终修饰符final等。
- 返回值类型:用于限定方法返回值的数据类型。
- 参数类型:用于限定调用方法时参数参数的类型。
- 参数名:是一个变量,用于接收调用方法时传入的数据。
- return关键字:用于结束方法以及返回方法指定类型的值。
当方法以void关键字声明,那么此方法没有返回值;但可以使用return来结束调用。
举例: 定义一个在主方法调用的方法
public static 方法返回值类型 方法名称([参数类型 参数名, ...]){
方法体代码;
...
[return 返回值;]
}
举例: 测试void关键字声明的方法,可以使用return结束方法调用
public class Test {
public static void main(String[] args){
// 屏幕上只打印出15和0
print_age(15);
print_age(30);
print_age(0);
}
public static void print_age(int age){
if(age > 18){
return; //弱质性此鱼具,则此语句后面的代码不再执行,方法调用结束
} else{
System.out.println(age);
}
}
}
3. 方法重载
方法名称相同,参数类型、个数或顺序不同,与方法返回值无关。
方法返回值不作为区分方法重载的点,即为,重载方法的返回值类型可以不同。 但是编码规范规定:重载函数的返回值类型一定要保持相同。
举例: 方法重载的实例
public class Test {
public static void main(String[] args){
System.out.println(add(1, 2));
System.out.println(add(1, 2, 3));
}
public static int add(int x, int y){
return x + y;
}
public static int add(int x, int y, int z){
return x + y + z;
}
}