package com.sf.day03;

import java.util.Scanner;

/**
 * 方法
 */
public class Method {
    /**
     * 语法格式：
     * [权限修饰符][其它修饰符] 返回值类型 方法名称([参数列表]){
     * 	//方法体
     * 	return;
     * }
     * 返回值类型：
     *  无返回值   void
     *  有返回值  基本数据类型  引用数据类型   对象  字符串  集合  。。。。。
     *  方法的名称   自定义  （首字母小写  多个单词并列时以驼峰形式进行命名）
     *  参数：在方法中定义的参数  -- 形参（形式参数）
     *  当方法被调用的时候，传进去的参数   实参（实际参数）
     * public   static (不是必须)    void     main(参数类型   参数名称){
     *     //当前方法的代码体
     * }
     *
     * 注意事项  ：  在方法中不能在创建定义方法，但是可以调用其他方法
     */

    /**
     * 定义一个方法
     * @param
     */
    public static String getInfo(){
        String str = "我是方法的返回值";
        return str;
    }

    /**
     *
     * @param name   形参
     * @return    参数列表不用(参数列表相同 数据类型不同)  方法名相同
     *重载方法
     * 带有static修饰的方法    静态方法
     * 优势：如果调用一个类中的一个方法，没有statis修饰时，我们需要创建对象  然后在调用方法
     *  如果有static修饰，就可以直接通过类名.方法名()进行调用
     *  Method.getInfoWithName();
     */
    public static String getInfoWithName(String name){  //
        String str = name+"我是方法的返回值";
        return str;
    }
    public static String getInfoWithName(String name,String userName){  //
        String str = name+"我是方法的返回值"+userName;
        return str;
    }



    public static void main(String[] args) {
        String info = getInfo();
        System.out.println(info);
        String zs = getInfoWithName("张三");//张三这个参数     实参
        System.out.println(zs);
        String infoWithName = getInfoWithName("lisi", "ll");
        System.out.println(infoWithName);
        Scanner scanner= new Scanner(System.in);

    }

    public void sum(){

    }

    public int sum1(){
        return 1;
    }

    public int sum1(int x ,int y){
        return x+y;
    }

    public void sum(int x ,int y){

    }

    public static int sum2(int x, int y){
        return x+y;
    }

}
