什么时候在java中使用单独的包?
有时当我查看源代码时,我注意到除了默认代码之外的一些文件放在另一个包中,但是没有理解何时或为什么使用这种做法.您是否必须使用单独的包装?有人在乎解释吗?
解决方法
简短的回答:
当项目需要特定的组织或层次结构时,或者当您的框架不允许使用默认包时,请使用包.对于简单的CS项目,它可能过度. 答案越长: 包是Java识别的文件夹,允许您使用某些特权: >您可以将两个名称相同的类放在不同的文件夹中,而不会导致冲突. 一个常见的例子是java.util.Date和java.sql.Date;根据你正在做的事情,你可能最终使用两者.如果你这样做,你必须使用fully qualified class name,这就像编写java.util.Date date = new java.util.Date();. 以我当前的项目为例.我决定编写一个能够读取MP3,FLAC,Vorbis和AAC文件的元数据解析器. 马上,我有四个常见的接口: MP3 FLAC Vorbis AAC …但是,这些都是真正的压缩格式(FLAC是无损的,因此没有压缩),因此它们属于传达它的地方. name.makoto.format - MP3 - FLAC - Vorbis - AAC 这一切都很好,花花公子.但实际进行解析的类会在哪里生活?如果它住在阅读器包中怎么办? name.makoto - reader MediaReader - format MP3 FLAC Vorbis AAC 假设现在我想实现那些格式接口.让它们与接口本身处于同一级别是没有意义的,因为这些只是实际对象的API.让我们把它移到一个impl包. name.makoto - reader MediaReader - format MP3 FLAC Vorbis AAC - impl MP3Impl FLACImpl VorbisImpl AACImpl 我继续,但从这里变得有点疯狂. 我这里有一个层次感和结构感.这是一个相当大的项目,所以我可以从组织中受益. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |