Java方法——详解

目录

方法的概述

方法是什么?

使用方法的好处是?

方法的定义以及调用

方法定义的完整格式

方法的调用

 常见问题

 方法的参数传递机制

基本类型的参数传递:值传递

 引用类型的参数传递:地址传递

方法重载

方法重载的形式、作用

方法重载的识别技巧


方法的概述

方法是什么?

方法是一种语法结构,它可以把一段代码封装成一个功能,以便重复调用。

使用方法的好处是?

  • 提高了代码的复用性
  • 让程序的逻辑更清晰

方法的定义以及调用

方法定义的完整格式

修饰符        返回值类型        方法名(形参列表){

                        方法体代码(需要执行的功能代码)

                        return 返回值;

}

注意点:

(1)方法声明了具体的返回值类型,内部必须使用return返回对应类型的数据。

(2)形参列表可以有多个,甚至可以没有;如果有多个形参,多个形参必须用“,”隔开,且不能给初始化值。        

public static int sum(int a, int b){        //示例代码
            int sum = a+b;
            return sum;
        }

方法的调用

首先应该知道“定义的方法是不会运行的,只有在调用以后才会运行”。

public static void main(String[] args) {
        System.out.println(sum(3,4));    //通过对方法的调用实现3+4的计算
        }
public static int sum(int a, int b){
        int sum = a+b;
        return sum;
        }
    }

 常见问题

  • 方法的编写顺序无所谓,既可以在main方法的上面,也可以在main方法的下面。
  • 方法与方法之间是平级关系,不能嵌套定义;比如前面的sum方法不能在main方法中定义,否则会报错。
  • 方法的返回值类型为void(无返回值),方法不能使用return返回数据,如果方法的返回值类型有具体的,方法内部必须使用return返回对应类型的数据。
  • return语句下面不能编写代码,因为永远执行不到,因此属于无效代码。
  • 方法不调用就不会执行,而在调用时必须严格对应方法的参数。
  • 有返回值的方法调用时可以选择定义变量接收结果,或者直接输出调用,甚至直接调用;无返回值的方法只能直接调用一次。
    int sum = max(3,4);                //定义变量接收结果
    System.out.println(sum(3,4));     //直接输出调用
    sum(3,4);                         //直接调用,没有接收返回值

 方法的参数传递机制

基本类型的参数传递:值传递

在传递实参给方法的形参的时候,并不是传递实参变量本身,而是传递实参变量中存储的值,这就是“值传递”。(实参:在方法内部定义的变量;形参:在定义方法时,“()”中声明的参数)

public static void main(String[] args) {
        int a = 1;
        change(a);
        System.out.println(a);        //1,由于只是值传递,所以二者互不影响,虽然都是a,但是含义不同
        }
public static void change(int a){
        System.out.println(a);         //1
        a = 2;
        System.out.println(a);         //2
        }

 引用类型的参数传递:地址传递

在传递实参给方法的形参的时候,并不是传递实参变量本身,而是将存储实参变量值的地址传递过去,导致实参与形参地址相同,所指向的值也相同。

public static void main(String[] args) {
        int []args = {1,2,3};
        change(args);
        System.out.println(args[0]);        //11,由于将数组的地址传递过去,因此,二者指向同一
//位置,当其中一个将地址指向的值改变以后,另一个通过地址访问该值的时候,该值也相应的变化了
        }
public static void change(int []args){
        System.out.println(args[0]);         //1
        args[0] = 11;
        System.out.println(args[0]);         //11
        }

方法重载

方法重载的形式、作用

同一个类中,出现多个方法名称相同,但是形参列表是不同的,那么这些方法就是重载方法

public static void eat(){
    System.out.println("我去吃饭");
}

public static void eat(String location){
    System.out.println("我去"+location+"吃饭");
}

public static void eat(String locatin,String time){
    System.out.println("我去"+location+"吃"+time+"饭");
}



eat();
eat("餐厅");
eat("餐厅","晚");

/*输出结果:
我去吃饭
我去餐厅吃饭
我去餐厅吃晚饭
*/

 调用方法的时候,会通过参数的不同来区分调用的是哪个方法。

 方法重载的作用:

  • 可读性好,方法名称相同提示是同一类型的功能,通过形参不同实现功能差异化的选择,是一种专业的代码设计。

方法重载的识别技巧

 只要是同一个类中,方法名相同、形参列表不同,那么他们就是重载的方法。(形参列表不同:形参的个数、类型、顺序不同,形参的名称无所谓)。

你可能感兴趣的:(Java基础,java,intellij-idea)