我现在正在学习Java中的方法/类访问控制,并且在将此方法设置为public之外的任何方法时遇到了一些麻烦。从概念上讲,我希望TestLibJavaApplication8不可见,因为在程序中可以使用TestLib中的方法而无需查看源代码。这是我现在所拥有的:

TestLib:

package testlib;
import java.awt.Robot;
public class TestLib {
    private static void moveMouse(int x, int y){
        try{
            Robot robot = new Robot();
            robot.mouseMove(x, y);
        }catch(Exception e){
            System.out.println("Error");
        }
    }
}


JavaApplication8:

package javaapplication8;

import testlib.TestLib;

public class JavaApplication8 {
    public static void main(String[] args) {
       TestLib.moveMouse(10, 20);
    }
}


除非我将方法设置为public,否则我不能访问TestLib.moveMouse(x, y),我敢肯定这是一种不好的做法。我该如何解决?

谢谢!

最佳答案

没有visibility levels这样的东西,在Java中只有access levels。可见性与程序员(人类)有关。您需要编译代码并提供一个JAR。这将使人们可以使用代码而无需查看内部细节。但是,所有api始终可见。

公共,受保护,私有是访问级别。它们控制可以使用(不查看)方法的级别。

08-03 20:29