所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。
一般情况下:
访问修饰符 返回值类型 方法名 (参数列表){
方法体
}
1、 访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用。
2、 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值
3、 方法名:定义的方法的名字,必须使用合法的标识符
4、 参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开
根据方法是否带参、是否带返回值,可将方法分为四类:
无参无返回值方法
无参带返回值方法
带参无返回值方法
带参带返回值方法
5、定义方法
定义一个 无参无返回值方法
public void show(){
System.out.println("这是一个方法")
}
注意:
方法体放在一对大括号中,实现特定的操作
方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式
6、调用方法
当需要调用方法执行某个操作时,可以先创建类的对象,然后通过 对象名.方法名();
例如:
java中无参无返回值方法:
public class HelloWorld {
public static void main(String[] args) {
// 创建对象,对象名为hello
HelloWorld hello = new HelloWorld1();
// 调用方法
hello.showMyLove();
}
/*
* 定义无参无返回值的方法
*/
public void showMyLove() {
System.out.println("这是一个方法!");
}
}
java中无参带返回值的方法:
public class HelloWorld {
public static void main(String[] args) {
// 创建名为hello的对象
HelloWorld hello = new HelloWorld();
// 调用hello对象的calcAvg()方法,并将返回值保存在变量avg中
double avg = hello.calcAvg();
System.out.println("平均成绩为:" + avg);
}
// 定义一个返回值为double类型的方法
public double calcAvg() {
double java = 92.5;
double php = 83.0;
double avg = (java + php) / 2; // 计算平均值
// 使用return返回值
return avg;
}
}
注意:
1、 如果方法的返回类型为 void ,则方法中不能使用 return 返回值!
2、 方法的返回值最多只能有一个,不能返回多个值。
3、 方法返回值的类型必须兼容,例如,如果返回值类型为 int ,则不能返回 String 型值
java中带参有返回值的方法
有时方法的执行需要依赖于某些条件,换句话说,要想通过方法完成特定的功能,需要为其提供额外的信息才行。我们可以通过在方法中加入参数列表接收外部传入的数据信息,参数可以是任意的基本类型数据或引用类型数据。
调用方法:
对象名.方法名(实参1,实参2,.....)
很多时候,我们把定义方法时的参数称为形参,目的是用来定义方法需要传入的参数的个数和类型;把调用方法时的参数称为实参,是传递给方法真正被处理的值。
public class HelloWorld {
public static void main(String[] args) {
// 创建对象,对象名为hello
HelloWorld hello = new HelloWorld();
// 调用方法,传入两门课程的成绩
double avg = hello.calcAvg(94, 81);
System.out.println(avg);
}
/*
* 功能:计算两门课程考试成绩的平均分并输出平均分
* 定义一个包含两个参数的方法,用来传入两门课程的成绩
*/
public double calcAvg(double cl1,double cl2){
return (cl1+cl2)/2;
}
}
注意:
1、 调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应
2、 调用方法时,实参不需要指定数据类型
3、 方法的参数可以是基本数据类型,如 int、double 等,也可以是引用数据类型,如 String、数组等
4、 当方法参数有多个时,多个参数间以逗号分隔
7、方法重载;
如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行。
判断方法重载的依据:
1、 必须是在同一个类中
2、 方法名相同
3、 方法参数的个数、顺序或类型不同
4、 与方法的修饰符或返回值没有关系