什么是方法?
System.out.println();
这样表述: 调用系统类里面的标准输出对象out中的println方法
:
-
方法包含于类或对象中
-
一个方法只完成一个功能,利于后期的扩展
-
mian方法中尽量干净整洁
-
在main方法外构造方法,public+(加static——>是一个类变量,利于方法在主线程中调用) +返回值类型+方法名
-
调用方法时的返回值类型名,可以任意起; 命名的方法名,也可以任意起(但遵守方法命名规范)
public static int add(int a, int b){ return a+b;//方法体 //public——>修饰符(还有final...) //static——>修饰符 //int——>返回值类型 //add——>方法名(Java中所有的东西,都需要个名字) //int a,int b 只是形式上的参数后面会给予赋值(参数类型,参数名) //return 返回,至于为什么main方法执行完程序就结束了,是因为psvm中的,void返回值类型为空 }
方法的定义
定义:用来完成特定功能的代码片段
-
参数就像一个占位符,当方法被调用时,传递值给参数。这个值称为实参或变量。参数列表是指,方法的参数类型、顺序和参数的个数。参数是可选的,方法中可以不包括任何参数。
-
形参:在方法被调用时用于接收外界输入的数据(定义一些方法时,随便编的参数)
-
实参:调用方法时实际传给方法的数据
如果有返回值类型,那么一定要在方法提后面+ return(一般在最外面)
return;除了有返回结果的作用,还有终止方法的作用
方法的调用
-
调用方法:对象名.方法名(实参列表)
-
当方法有返回值的时候,方法调用一般被当成一个值
-
如果方法返回值是void,方法调用一定是一条语句
public static void main(String[] args) { int max = max(10, 10); System.out.println(max); } //比大小 public static int max (int num1,int num2){ int result = 0;//定义一个变量(用来返回结果),还需要初始化的值(随便定义),最后return result就行了 if (num1==num2){ System.out.println("num1=num2"); return 0 ;//还有终止方法!!! } if (num1>num2){ result = num1; }else { result = num2; } return result; } }
方法的重载
:在一个类中,有相同的函数名称,但形参不同,的一个函数
:一个类有两个方法,并且用相同的名字,就是参数类型不同
-
方法名称必须相同
-
参数列表必须不同(个数不同或类型不同、参数排列顺序不同等)
-
方法的返回类型可以相同也可以不同
-
仅仅返回类型不同,不足以成为方法的重载
实现理论
方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,去选择方法;如果匹配失败,则编译器报错
public static void main(String[] args) { double max = max(10.0, 10); System.out.println(max); } //比大小 public static int max (int num2,int num1){ int result = 0; if (num1==num2){ System.out.println("num1=num2"); return 0 ;//终止方法 } if (num1>num2){ result = num1; }else { result = num2; } return result; } public static double max (double num2,double num1){ double result = 0; if (num1==num2){ System.out.println("num1=num2"); return 0 ;//终止方法 } if (num1>num2){ result = num1; }else { result = num2; } return result; } }