Java方法间的调用

慈云数据 2024-05-14 技术支持 76 0

本文以静态方法和非静态方法进行区分。

Java方法间的调用
(图片来源网络,侵删)
一,静态方法调用其他方法
1.静态方法调用非静态方法

无论是否在同一个类中,均需要通过对象调用。

Son类:

Java方法间的调用
(图片来源网络,侵删)
publiC class Son {
    public void Son2(){//Son类里的非静态方法
        System.out.println("Son类里的非静态方法的儿子");
    }
}

test类:

public class Test {
    public void Son1(){//非静态方法
        System.out.println("同类里的非静态方法的儿子");
    }
    public static void main(string[] args) {
        Test test = new Test();
        test.Son1();//静态方法通过对象调用同一个类里的非静态方法
        Son son = new Son();
        son.Son2();//静态方法通过对象调用另一个类里的非静态方法
    }
}
2.静态方法调用静态方法

同一个类内直接调用,不同类直接通过“类名.方法名(参数)”调用。

Son类:

public class Son {
    public static void Son2(){//Son类里的静态方法
        System.out.println("Son类里的静态方法的儿子");
    }
}

Test类:

public class Test {
    public void staic Son1(){//静态方法
        System.out.println("同类里的静态方法的儿子");
    }
    public static void main(String[] args) {
        Son1();//静态方法直接调用同一个类里的静态方法
        Son.Son2();//静态方法通过调用同一个类里的静态方法
    }
}
二,非静态方法调用其他方法
1.非静态方法在同一个类内调用其他方法

在同一个类内,非静态方法可以直接调用静态方法和非静态方法。

Test类:

public class Test {
    public void Son1(){//非静态方法
        System.out.println("同一个类里的非静态方法的儿子");
    }
    public static void Son2(){//静态方法
        System.out.println("同一个类里的静态方法的儿子");
    }
    public void run(){
        Son1();//非静态方法直接调用同一个类里的非静态方法
        Son2();//非静态方法直接调用同一个类里的静态方法
    }
    public static void main(String[] args) {
        Test test = new Test();
        test.run();
    }
}
2.非静态方法在不同类之间调用其他方法

在不同类之间,非静态方法需要通过对象才能调用非静态方法。可以通过类名调用静态方法。

Test类:

public class Test {
    public void run(){
        Son son = new Son();
        son.Son1();//非静态方法通过对象调用另一个类里的非静态方法
        
        Son.Son2();//非静态方法通过类名调用另一个类里的静态方法
    }
    public static void main(String[] args) {
        Test test = new Test();
        test.run();
    }
}

Son类:

public class Son {
    public void Son1(){//非静态方法
        System.out.println("Son类里的非静态方法的儿子");
    }
    public static void Son2(){//静态方法
        System.out.println("Son类里的静态方法的儿子");
    }
}

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon