【发布时间】:2014-08-21 10:20:33
【问题描述】:
我现在正在学习 Java 中的方法/类访问控制,我在将此方法设置为除公共之外的任何东西时遇到了一些麻烦。理想情况下,我希望TestLib 对JavaApplication8 不可见,因为程序可以在不查看源代码的情况下使用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);
}
}
除非我将方法设置为公开,否则我不能访问TestLib.moveMouse(x, y),我很确定这是不好的做法。我该如何解决这个问题?
谢谢!
【问题讨论】:
-
您想隐藏源代码并禁止执行吗?
-
我想对最终用户隐藏 TestLib 的源代码,我想在它完成后将它作为库分发。
-
然后将所有允许调用的方法设为public,并将你的源码编译成jar文件,这样用户就可以使用了,但是他们看不到源码
-
您完全误解了可见性级别;它们与源代码无关。
-
啊,我误会了,我的错!我猜使用正确的可见度水平仍然很好,现在最好把它降低
标签: java methods access-modifiers