方法

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通过方法的参数列表,调用不同的方法。
 
原文地址:https://www.cnblogs.com/21556guo/p/13371404.html