方法
-
方法的定义
方法的定义是什么?语法机制是什么?
[修饰符列表] 返回值类型 方法名(形式参数列表){ 方法体; }
注意:
[]符号叫做中括号,以上中括号搜[]里面的内容标识不是必须的,是可选的.
方法体由java语句构成
方法定义之后需要去调用,不调用是不会执行的修饰符列表不是必选的,是可选的
- 返回值类型可以是任何类型,只要是java中合法的数据类型就行,数据
类型包括基本数据类型和引用数据类型,返回值类型可以是:byte short
int long float double boolean char String… - 什么是返回值?
返回值一般指的是一个方法执行结束之后的结果。结果通常是一个数据,所以被称为“值”,而且还叫“返回值”。
方法就是为了完成某个特定的功能,方法结束之后大部分情况下都是有一个结果的,而体现结果的一般都是数据。数据得有类型。这就是返回值类型。
main{ //调用方法 a(); //如果a方法执行结束之后有返回值,这个返回值返回给main了。 } a(){} // 方法执行结束之后的返回值实际上是给调用者了。谁调用就返回给谁。
- 当一个方法执行结束不返回任何值的时候,返回值类型也不能空白,必须写上void关键字。所以void表示该方法执行结束后不返回任何结果。
- 如果返回值类型“不是void”,那么你在方法体执行结束的时候必须使用"return 值;"这样的语句来完成“值”的返回,如果没有“return 值;”这样的语句编译器会报错。
- 只要有“return”关键字的语句执行,当前方法必然结束。return只要执行,当前所在的方法结束,记住:不是整个程序结束。
- 如果返回值类型是void,那么在方法体当中不能有“return 值;”这样的语句。但是可以有“return;”语句。这个语句“return;”的作用就是用来终止当前方法的。
- 除了void之外,剩下的都必须有“return 值;”这样的语句。
方法名要见名知意.(驼峰式命名)
方法名在标识符命名规范当中,要求首字母小写,侯建每个单词首字母大写
只要是合法的标识符就哭,简称:形参
注意:形式参数列表中的每一个参数都是"局部变量",方法结束之后内存释放.
形参的个数是:0~N个。
public static void sumInt(){}
public static void sumInt(int x){}
public static void sumInt(int x, int y){}
public static void sum(int a, int b, double d, String s){}
形参有多个的话使用“逗号,”隔开。逗号是英文的。
形参的数据类型起决定性作用,形参对应的变量名是随意的。由Java语句构成.java语句以";"结尾.
方法体当中编写的是业务逻辑代码,完成毛哥特定功能.
在方法体中的代码遵循自上而下的顺序依次逐个执行方法必须调用才能执行。
怎么调用,语法是什么?
类名.方法名(实际参数列表);
实参和形参的类型必须一一对应,另外个数也要一一对应。 - 返回值类型可以是任何类型,只要是java中合法的数据类型就行,数据
-
注意
-
在方法调用的时候,什么时候“类名.”是可以省略的。什么时候不能省略?
a()方法调用b()方法的时候,a和b方法都在同一个类中,“类名.”可以省略。
如果不在同一个类中“类名.”不能省略。 -
break;语句和return;语句有什么区别?
break;用来终止switch和离它最近的循环。
return;用来终止离它最近的一个方法。
-
-
方法重载
- 什么时候需要考虑使用方法重载?
在同一个类当中,如果“功能1”和“功能2”它们的功能是相似的,那么可以考虑将它们的方法名一致,这样代码既美观,又便于后期的代码编写(容易记忆,方便使用)。
注意:方法重载overload不能随便使用,如果两个功能压根不相干,不相似,根本没关系,此时两个方法使用重载机制的话,会导致编码更麻烦。无法进行方法功能的区分。
- 什么时候代码会发生方法重载?
条件1:在同一个类当中
条件2:方法名相同
条件3:参数列表不同
参数的个数不同算不同
参数的类型不同算不同
参数的顺序不同算不同
只要同时满足以上3个条件,那么我们可以认定方法和方法之间发生了
重载机制。注意:
不管代码怎么写,最终一定能让java编译器很好的区分开这两个方法。
方法重载和方法的“返回值类型”无关。
方法重载和方法的“修饰符列表”无关。