Java方法详解

Java方法详解

1. 方法概述

为了解决代码重复编写的问题,可以将需要重复编写的代码提取出来放在一个{}中,给这段代码起个名字,通过这个名字来调用这段代码就可以实现想要做的事情。提取出来的代码可以组成一个方法。

2. 方法存在的意义

l 提高代码的复用性。

l 增强代码的可维护性。

3. 书写方法的格式

l 方法格式

修饰符 返回值类型 方法名(参数类型参数名1,参数类型参数名2…) {

方法体;

return 返回值;

}

方法组成的三要素:返回值类型、方法名、参数列表。

l 方法的各个参数的说明

修饰符:public private 默认 protected。

返回值类型:返回值的数据类型,当不确定方法的返回值类型时,可以将返回值类型写成Object(因为Object是java中的根类,可以接收任意类型的返回值)。

方法名:给方法起的一个名字。

参数类型:调用方法时传入的数据的数据类型,参数类型包括基本数据类型和引用数据类型。

参数名:调用方法时传入的参数的参数的名字。

方法体:实现业务功能的代码。

Return:结束方法,返回返回值。

l 注意事项:

方法定义完成之后,在调用方法的时候才会执行方法,不调用的时候不会执行。

4. 方法调用的原理和过程

4.1 首先编写一个java类。

4.2在java类中找到main方法,并且调用main方法。

4.3在main方法中调用sum方法。

4.4让形参接收实参。

4.5执行sum方法内部的业务代码。

4.6方法内部的变量在方法结束时销毁,最后需要把返回值通过return返回方法外。

4.7结束。

5. 方法的返回值是void

l 代码格式

修饰符 void 方法名(参数类型参数名1,参数类型参数名2…) {

方法体;

return ;

}

l 代码示例:

public class MethodDemo01 {

public static void main(String[] args) {

getInfo();

}

public static void getInfo(){

System.out.println("返回值是void");

}

}

6. 方法重载

l 概述

在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。方法重载的意义是可以减轻开发人员的记忆负担。

l 特点

与返回值类型无关。

参数列表不一样,体现在参数的类型不一样和个数不一样,当个数和类型都一样时,顺序不一样也行。

在调用时,jvm虚拟机通过参数列表的不同来区分同名方法

l 代码示例:

public class MethodDemo02 {

public static void main(String[] args) {

int a = 10;

int b = 20;

// 求和

int result = sum(a, b);

System.out.println("result:" + result);

int c = 30;

// 求和

result = sum(a,b,c);

System.out.println("result:"+result);

}

//两个float类型的数据求和

public static float sum(float a,float b) {

return a + b;

}

// 三个整数的求和

public static int sum(int a,int b,int c) {

return a + b + c;

}

// 两个整数的求和

public static int sum(int a, int b) {

return a + b;

}

}

7. 方法中的参数传递

l 概述

当我们要调用一个方法时,我们会把指定的数据,传递给方法中的参数,这样方法中的参数就拥有了这个指定的数据。这种传递方式,被称为参数传递。

l 参数传递的特点

定义方法时,参数列表中的变量,是形式参数

调用方法时,传给方法的数值,是实际参数

形式参数的改变不会影响实际参数,也可以理解为形式参数的名称可以和实际参数的名称不一致。

l 参数是基本数据类型时,值传递

代码示例:

public class MethodDemo03 {

public static void main(String[] args) {

int a = 10;

int b = 20;

swap(a,b);

}

public static void swap(int a,int b){

int temp = a;

a = b;

b = temp;

System.out.println(a+b);

}

}

l 参数是引用数据类型时,是引用传递

引用传递的介绍:

方法中的参数是引用数据类型时,方法中传递的不是具体的数据,而是传递的是引用的地址,因此不需要返回数据。

参数指向的是堆内存中引用数据类型的对象的地址。把引用数据类型的参数(堆内存中的地址)比喻成一把钥匙,把引用数据类型的对象比喻成一个房子,只要有相同钥匙的人,房间对于这些人是共享的,这些人都可以对这个房间进行操作。

代码示例:

public class MethodDemo04 {

public static void main(String[] args) {

int a = 10;

int b = 20;

int[] arr = {a,b};

swap(arr);

}

public static void swap(int[] arr){

int temp = arr[0];

arr[0] = arr[1];

arr[1] = temp;

System.out.println(arr);

}

}

猜你喜欢

转载自blog.csdn.net/qq_34236718/article/details/80624448