class Testwu //类,类型,模拟的是一类事物 { public static void main(String[] args) //给jvm认识,程序入口,主方法(函数)。方法(函数)模拟的是一类事物的一个功能,所以要写在类中 { kaixin(); //调用kaixin() 这个函数 } //出口 public static void kaixin() //构造kaixin()方法;()里可放没有赋值的变量,形式参数 { System.out.println("hhhhhh"); } }
public class MyJava2 { public static void main(String[] args) { int i = kaixin(666); //调用方法时实际传入的参数,实际参数,本质是一个值 //上面int为返回值数据类型 System.out.println(i); } public static int kaixin(int a) { //此int是为返回数据类型 //实参给形参赋值的过程,叫做参数传递,进行数据交互 System.out.println("我要开心"+a); //我要开心666 return 888; //888为返回值,int类型 } }
定义位置,类中方法外面。
返回值类型,必须return语句返回的类型相同(匹配),否则编译失败(这个说法片面了,比如return 666返回值类型可以是double接收)。
不能在return后面写代码,return意味着方法借宿,后面代码不会执行,属于无效代码。
调用方法的三种形式
- **直接调用:**直接写方法名调用
public static void main(String[] args) { print(); } public static void print() { System.out.println("方法被调用"); }
- **赋值调用:**调用方法,在方法前面定义变量,接收方法返回值
public static void main(String[] args) { int sum = getSum(5,6); System.out.println(sum); } public static int getSum(int a,int b) { return a + b; }
```
- **输出语句调用(输出调用):**
- 在输出语句中调用方法,`System.out.println(方法名())` 。
- 不能用输出语句调用`void` 类型的方法。因为方法执行后没有结果,也就打印不出任何内容。
方法重载
- **方法重载**:指在**同一个类**中,允许存在一个以上的同名方法,只要它们的参数列表(小括号里面东西变量)不同即可,与修饰符和返回值类型无关。
- 参数列表:个数不同,数据类型不同,顺序不同(其实这个本质也是数据类型不同的一种而已)。
- 重载方法调用:JVM通过方法的参数列表,调用不同的方法。