Java基础(四)——方法(函数)
一、概念
概念:实现特定功能的一段代码,可反复使用。
1、方法的定义
2、定义的位置
方法定义在类的内部,与main方法并列。
3、定义方法
定义兴许是年轻人的第一个方法:
public class demo01{
public static void main(String[] args){
System.out.print("\n");
}
// 因为主方法是静态的,所以这里也必须是 static ,静态方法;
public static void printTriangle(){
// 因为没有返回值,所以方法没有返回值类型,所以这里返回值类型是 void。
System.out.print("\n");
}
}
从上图可以看到,定义的方法,跟主方法是同层的,且可以看到 main 主方法,前面有 static ,所以后面定义的方法,也得是 static 。
前面加个 void ,是因为这个方法没有返回值类型,所以是 void 。
4、方法的调用
要调用定义的方法很简单,在主函数里,函数名(),就能调用了。看下图:
public class demo01{
public static void main(String[] args){
System.out.print("\n");
printTriangle(); // 调用方法
}
public static void printTriangle(){
System.out.print("\n");
}
}
调用方法时,会优先执行方法内部代码,结束后,返回到方法调用处,继续向下执行。
二、方法
很多时候,我们设立的方法,要处理这些数据,而要让方法处理这些数据,就要传入这些数据,这时候传入的数据就被称为参数。
1、形参与实参
形参全称是形式参数。
实参全称是实际参数。
a、多个参数
上图中,可以看到方法只有一个参数。方法可以有多个参数:
public static int method3(int num,double num2,String str){
//多个形参
System.out.println(num);
System.out.println(num2);
System.out.println(str);
}
且调用方法时,依次传入形参,类型,个数顺序,必须与形参对应:
public class demo02{
public static void main(String[] args){
method3(123,0.9,"你好"); // 这里传入参数必须与形参一一对应 !
public static int method3(int num,double num2,String str){
System.out.println(num);
System.out.println(num2);
System.out.println(str);
}
}
2、返回值与返回值类型
有的方法,只需要处理一些数据,接着打印出来;像这种方法不用返回处理后的结果,也就没有返回值。
而有的方法,处理完数据后,还要接着使用这些处理过后的数据,这时候就需要返回这些处理过的数据,
变量需要定义类型,同样的,方法也需要定义类型。
a、定义语法
b、调用语法
变量类型 变量 = 方法名称()
变量类型与返回值类型一致
3、return 关键字
return 关键字可以把方法处理完的数据,返回回去,用一个变量接收。且变量类型与返回值类型必须一致。
a、需要注意的地方
b、return的两种用法
return的两种用法:
1、 应用在具有返回值类型的方法中:
return value; 表示结束当前方法,并伴有返回值,返回到方法调用处。
2、 应用在没有返回值类型(void)的方法中:
return; 表示结束当前方法,直接返回到方法调用处。
4、方法的重载
方法的重载意为方法的扩展。
a、表现形式
先举个例子:
可以看到,如果定义的变量名再定义一次,会报错,显示重复定义,定义不同变量类型结果也是一样的;
b、方法重载——参数的个数
这时候再来看看方法:
可以看到,方法名是完全一样的,但是参数的个数不一样,此时,编译该文件,是完全不会报错的。
c、方法重载——参数的类型
接着再看:
方法名还是一样,参数个数也一样,但是参数的类型不一样,此时去编译,还是不会报错,完全没有问题的。
d、方法重载——参数类型的顺序
接着再看:
可以看到,参数的类型一样,个数也一样,但是类型的顺序不一样,此时编译,也不会报错。
e、错误的方法重载形式
来看看错误的形式:
1、返回值类型
可以看到,两个方法就返回值类型不一样,这种重载语法是错误的,会报错!
接着看看另一种:
两个方法不同的地方在于参数的形参顺序不一样,但两个都是 int ,这种形式也会报错。
f、方法重载的总结
综上,对方法的重载进行总结:
- 方法名相同。
- 参数列表个数不一致 / 参数的类型不一致 / 参数类型的顺序不一致 ,以上三点满足其一就可以进行方法的重载。
- 跟返回值的类型无关。