方法(method),又称为函数(function),是代表一个独立的可复用的功能,体现事务的行为特征,功能特征。
目的/好处:复用性
1、方法的声明格式:
【修饰符】 返回值类型 方法名(【形参列表】){
方法体
}
说明:
(1)【修饰符】
(2)返回值类型:可以是Java的任意数据类型,包括基本数据类型和引用数据类型。
当该方法没有返回值时,使用void表示。
-
如果方法的返回值类型是void,那么在{方法体}中可以不需要return语句。
-
如果方法的返回值类型不是void,那么在{方法体}中必须有return 返回值;的语句,否则编译不通过。
(3)方法名:
-
尽量能够代表方法的功能,即见名知意
-
从第二个单词开始首字母大写
(4)【形参列表】:表示在完成当前方法的功能时,需要“调用者”给我额外的数据。
-
形参列表的格式: (数据类型 形参名, 数据类型 形参名 。。。。)
-
要求方法的“调用者”在调用方法时,【实参列表】的个数、类型、顺序必须与【形参列表】一一对应。
(5)方法体:实现方法的功能,最好一个方法就完成一个独立的功能。
2、方法的调用格式:
//本类同级别方法调用 直接使用 class Circle{ double radius; double area(){ return 3.14 * radius * raidus; } String getInfo(){ return "半径:" + radius + ",面积:" + area(); } } //在其他类的方法中调用 对象名.方法名(【实参列表】) class Circle{ double radius; double area(){ return 3.14 * radius * raidus; } } class TestCircle{ public static void main(String[] args){ Circle c = new Circle(); System.out.println("半径:" + c.raidus + ",面积:" + c.area()); } }
-
看方法是否有【形参列表】,【实参的列表】的个数、类型、顺序与【形参列表】一一对应;
-
无论是否有参数,调用时的()不要省略
(2)是否接收返回值
-
看方法是否有返回值,如果是void,表示没有返回值,不能接收;
-
如果不是void,就可以接收,而且接收返回值的变量的类型必须能够兼容这个返回值的类型。
3、方法的声明与调用的代码示例
(1)无参无返回值方法
//本类 class Demo{ void test1(){ //.... } void test2(){ test1();//直接使用 } } //其他类 class Demo1 { void test1(){ //.... } } class Demo2{ void test2(){ Demo1 d = new Demo1(); d.test1(); } }
(2)无参有返回值方法
//本类 class Circle{ double radius; double area(){ return 3.14 * radius * raidus; } /* String getInfo(){ return "半径:" + radius + ",面积:" + area();//直接把area()方法的返回值拼接起来。 }*/ String getInfo(){ double a = area();//用a变量接收了返回值 return "半径:" + radius + ",面积:" + a; } } //其他类 class Circle{ double radius; double area(){ return 3.14 * radius * raidus; } } class TestCircle{ public static void main(String[] args){ Circle c = new Circle(); System.out.println("半径:" + c.raidus + ",面积:" + c.area()); double a = c.area();//用变量a接收返回值 System.out.println("半径:" + c.raidus + ",面积:" + a); } }
3)有参无返回值方法
//本类 class Demo{ void test1(String str){ //.... } void test2(){ test1("hello"); } } //其他类 class Demo1{ void test1(String str){ //.... } } class Demo2{ void test2(){ Demo1 d = new Demo1(); d.test1("hello"); } }
(4)有参有返回值方法
//本类 class Demo{ int max(int a, int b){ return a>b?a:b; } void test(){ int m = max(3,4); System.out.println("最大值:" +m); } } //其他类 class Demo1{ int max(int a, int b){ return a>b?a:b; } } class Demo2{ void test2(){ Demo1 d = new Demo1(); int m = d.max(4,5); System.out.println("最大值:" +m); } }
4、方法声明与调用的原则
(1)方法必须先声明后调用
如果调用方法时,如果方法名写错或调用一个不存在的方法,编译会报错
(2)方法声明的位置必须在类中方法外
正确示例:
类{ 方法1(){ } 方法2(){ } }
错误示例:
类{ 方法1(){ 方法2(){ //错误 } } }
(3)方法的调用的位置有要求
类{ 方法1(){ 调用方法 } }
错误示例:
类{ 方法1(){ } 调用方法 //错误位置 }
(4)方法的调用格式要与方法的声明格式对应
①是否要加“对象.”
②是否要接收返回值
③是否要传参