我现在正在学习Java中的方法/类访问控制,并且在将此方法设置为public之外的任何方法时遇到了一些麻烦。从概念上讲,我希望TestLib
对JavaApplication8
不可见,因为在程序中可以使用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始终可见。
公共,受保护,私有是访问级别。它们控制可以使用(不查看)方法的级别。