java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java方法的调用关系

Java解析方法的调用关系示例详解

作者:从零开始的-CodeNinja之路

这篇文章主要介绍了Java解析方法的调用关系,方法在Java编程中用于封装重复的代码,提高代码复用性,文中通过代码介绍的非常详细,需要的朋友可以参考下

一、方法的定义

方法就是 将功能重复的代码封装成一段独立的代码,通过调用方法的方式 (作用)提高代码的复用性(减少代码重复)。

每一个方法只能完成一个功能。

二、方法的声明格式

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

执行语句块;
return 返回值;

}

例:

boolean isLeapYear (int year){  //定义方法
    boolean isLeap = false;
        if(year%4==0 && year%100 != 0 || year%400 != 0){
            isLeap = true;
        }
    return isLeap;
}
public class MethodDemo01 {
    //提取一个方法,计算两个数的和并返回
    public static int addNum(int a,int b){
        int sum = a +b;
        return sum;
    }
    //提取一个方法,计算三个数的和并打印
    public static void addNum2(int a,int b,int c){
        int sum = a +b +c;
        System.out.println(sum);
    }
    public static void main(String[] args) {
        //调用方法1,计算1+2的和
        int sum1 = addNum(1,2);
        System.out.println(sum1);

        //调用方法1,计算3+4的和
        System.out.println(addNum(3,4));

        //调用方法,计算5+6+7的和并打印
        addNum2(5,6,7);
    }
}

三、方法的调用

int year= 2020;
boolean leapYear =isLeapYear(year); //调用方法
if(leapYear){
    System.out.println(year +"是闰年!")
}
year = 2052;
leapYear =isLeapYear(year);//调用方法
if(leapYear){
    System.out.println(year +"是闰年!")
}

四、特殊方法:程序入口main方法

main方法是一个特殊方法,它是Java程序的入口方法,执行Java程序时,JVM会调用main方法。

public static void main (String[]args){}

五、方法的局部变量

局部变量是指在方法中声明的变量,其作用范围仅限于方法中

局部变量使用前必须进行初始化。(定义在main方法中的变量也是局部变量)

boolean isLeapYear (int year){
    boolean isLeap = false;//声明了一个局部变量并进行初始化
        if(year%4==0 && year%100 != 0 || year%400 != 0){
            isLeap = true;
        }
    return isLeap;
}
public classA{
    public static void main (String[]args){
    int i =6; //整数(实参,局部变量)
    int [] array = {1,2,3}; //数组(实参,局部变量,传数组的地址)
    test(i,array);
    System.out.println(i+""+array[0]);
    }
    public static void test(int i,int []array){  //形参
        i += 3;
        array[0] += 3;
    }
}
//输出结果:6 4

六、类的静态变量

静态变量(也称为类变量)是使用static关键字声明的变量,这些变量属于类本身,而不是类的任何特定实例(静态变量在使用前无需初始化。)

public class HellWorld{
    public static boolean isLeap;//全局变量(默认自动化)
    
    public static void method01(){ //
        isLeap = true;//共享全局变量
    }
    public static void method02(){
        isLeap = true;//共享全局变量
    }
}

七、类的静态方法

静态方法是使用static关键字定义的方法,静态方法可以访问类的静态变量和静态方法,但不能访问类的实例方法和实例变量。

八、方法的传参

形参:方法中定义的数据类型变量。

引用数据传递的不是真正的数据地址,是引用的堆内存中的地址,无论引用传递的数据怎么改变,它也只是引用的堆内存中的地址,原数据组的数据地址并没有被改变,改变那部分的值只是形参复制给实参使用的的地址,并不是把原地址改变。

值传递时,形参改变并不会影响到实参。

在函数中,只有修改了实参所指向的对象内容,也就是引用堆内存中的地址,才会影响到实参

public classA{
    public static void main (String[]args){
    int i =6; //整数(实参,局部变量)
    int [] array = {1,2,3}; //数组(实参,局部变量,传数组的地址)
    test(i,array);
    System.out.println(i+""+array[0]);
    }
    public static void test(int i,int []array){//形参
        i += 3;
        array[0] += 3;
    }
}
//输出结果:6 4

九、方法的重载

方法的重载指的是在同一个类中,有一个以上的同名方法,但方法的参数个数或参数类型有所不同(与方法的返回值无关)

方法重载是对于 一个类。

 public static int addNum(int a,int b){
        int sum = a +b;
        return sum;
    }
    //提取一个方法,计算三个数的和并打印
 public static int addNum2(int a,int b,int c){
        int sum = a +b +c;
        return sum;
    }

例如,以下都属于方法的重载

总结 

到此这篇关于Java解析方法的调用关系的文章就介绍到这了,更多相关Java方法的调用关系内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文