我有一个关于Java风格的问题.我已经编程Java多年了,但主要是出于我自己的目的,在那里我不必担心风格,但我只是没有找到一份工作,我必须专业地使用它.我问,因为我要让人们第一次真正查看我的代码,我想看起来我知道自己在做什么.嘿.
我正在开发一个其他人会在我的工作中使用的图书馆.其他代码使用我的库的方式主要是实例化主类,也可以调用一两个方法.他们不必使用我的任何数据结构,或者我在后台使用的任何类来完成任务.我可能会成为维护这个库的主要人物,但其他人可能偶尔也会查看代码.
因此,当我编写这个库时,我只使用了大多数字段的默认无修饰符访问级别,甚至还有其他类偶尔会读取并可能直接从/向这些字段写入.由于这是在我的包中,这似乎是一种可行的方法,因为这些字段不会从包外看到,并且似乎没有必要将事物设为私有并提供getter和setter.除了我之外,没有人会在我的包中编写代码,这是封闭源代码等.
我的问题是:对于其他Java程序员来说,这看起来是不好的风格吗?即使我确切地知道将要获得什么以及设置我的字段,我是否应该提供getter和setter?我不担心其他人写一些会破坏我的代码的东西?
我有一个可调整大小的SWT shell.每次调整大小时,我都必须做一些计算密集的事情.
我可以ControlListener在我的shell上注册一个,但是这会在整个调整大小操作中连续生成事件,我不知道调整大小拖动类型鼠标操作何时结束.
我希望能够检测用户何时完成 shell的大小调整,然后启动我的计算密集型操作.任何想法如何去做?
我将尝试尽可能多地提供详细信息,请原谅我,如果有些不相关的话.我在eclipse中有两个项目.项目1:com.myworkplace.parent,包含相同名称的代码.项目2:com.myworkplace.child,包含相同名称的代码(我将代码移到默认包中的代码中,如果这有所不同).据我所知,两者都位于我的工作区文件夹中,并按照您期望的方式进行结构化.
我使用Java Build Path - > Projects - > Add在eclipse中将child添加到parent的构建路径中.Parent的.classpath文件包含以下条目:
<classpathentry combineaccessrules="false" kind="src" path="/com.myworkplace.child"/>
Run Code Online (Sandbox Code Playgroud)
我在父级中添加对com.myworkplace.child.Child类的引用,导入它,编译它没有错误,运行并获取:
java.lang.NoClassDefFoundError: com/myworkplace/child/Child
Run Code Online (Sandbox Code Playgroud)
是什么赋予了?
编辑:父应用程序是一个RCP应用程序,也许OSGI(我真的不太了解RCP和相关的东西.)一些谷歌搜索让我相信它可能与此有关.