java方法
我们书写的代码常常有着成千上万行,如果全部混在一起显得杂乱无比
所以java提供了方法
方法的性质
java方法是语句的集合,方法中包含若干代码,一起执行一个命令
方法的意义:
- 方法是解决一类问题的有序组合
- 方法包含于类或对象中
- 方法在程序中被创建,在其他方法中被调用
- 方法具有原子性,每个方法只为了一个任务,一个方法只负责一个功能
main方法和其他方法
方法分为main方法和其他方法
main方法是由系统调用的方法,我们常常在main方法中调用其他方法来构建整个框架
其他方法是由我们书写,为了实现某个目的而建立
方法创建的标准化
java中的方法类似于c中的函数
方法包含一个方法头,一个方法体
代码语言:javascript复制修饰符 返回类型 方法名(参数类型 参数名){
......
方法体
......
return;
}
下面书写一个比较函数作为例子:
代码语言:javascript复制//public static 为修饰符
//int 为返回类型
//max 为函数名
//num1,num2为参数
public static int max(int num1,int num2){
int result = 0;
if(num1 == num2){
System.out.println("a=b");
return 0;
}
if(num1>num2){
result = num1;
}else{
result = num2;
}
return result;
}
方法调用的标准化
当方法为static时:(相当于方法和类一同加载)
代码语言:javascript复制public static int max(int num1,int num2)
直接在主函数中调用即可:
代码语言:javascript复制public class Demo {
public static void main(String[] args) {
int max = max(20,20);
System.out.println(max);
}
}
当方法不为static时:(相当于类实体化后方法才加载)
代码语言:javascript复制public int max(int num1,int num2)
需要在主函数中提前声明对象,才可采用对象的方法:
代码语言:javascript复制public class Demo {
public static void main(String[] args) {
Demo demo = new Demo()
int max = demo.max(20,20);
System.out.println(max);
}
}
方法重载
在一个类中有着相同名字但不同参数的方法称为方法重载
方法重载的条件:
- 名称相同
- 参数列表不同(可以是数量不同,参数类型不同,参数类型排列顺序不同)
- 返回类型不受影响
在相同名称的方法调用时,由 编译器自行决定调用哪个方法
可变参数
java为了给方法提供便利性,允许同种类型的数量可变的参数加入进来
可变参数在方法的参数列表中加入: 参数类型 ... 参数名称
代码语言:javascript复制public static void name(int ... numbers){
.......
}
注意事项:
- 一个方法中只能存在一个可变参数
- 可变参数必须位于方法参数的最末尾
值传递和引用传递
java为值传递
值传递和引用传递的区别:
- 值传递:只有值传递过去,改变不对数据本身改变
测试代码:
代码语言:javascript复制public class Demo2 {
public static void main(String[] args) {
int a=1;
System.out.println(a);
change(a);
System.out.println(a);
}
public static void change(int a){
a=10;
}
}
结果:
代码语言:javascript复制1
1
- 引用传递:地址传递过去,改变会对数据本身改变
测试代码:
代码语言:javascript复制public class Demo1 {
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name);
change(person);
System.out.println(person.name);
}
public static void change(Person person){
person.name = "999感冒灵";
}
}
class Person{
String name;
}
结果:
代码语言:javascript复制null
999感冒灵
结束语
方法是java中最常用的部分,我们通过方法来构建整体框架的各个小部件,从而整合成大项目