java的库、包、编辑单元、类,以及系统库和第三方库的引用问题。
2014-12-27 15:29
246 查看
-----------------------------库、包、编辑单元、类------------------------------------------------------------------
每一个编辑单元就是一个.java文件。
每一个编辑单元有一个主类public,此类名称和编辑单元名称相同。
每一个编辑单元还可以有多个副类(非public),名称随便。
多个编辑单元组成包。
多个包导出一个.jar文件。
多个jar文件组成用户库、第三方库,标准库也是这个原理。
当需要引用用户库的时候;
首先需要构建一个库;
向库内导入各种包;
包会被自动解析成好多类,但其实是只有主类才能够使用。
图1 包的创建结构和库的引入结构
图2 主类可以调用,副类调用提示错误
-----------------------------关于java 的库的具体引用------------------------------------------------------------------
如果采用纯手动,不适用任何IDE(比如eclipse)的情况下,请按照网上的方式,有两种环境变量需要配置;
1、配置jdk,也就是编译器和jvm的运行,这个和path变量有关,使用DOS下javac命令编译;
2、配置库,也就是告诉编译器你的jar包放在哪里,这个和classpath有关,任何你需要引用的标准库或是第三方库,都需要添加到这个环境变量,以告诉编译器你import的那些内容在哪;
如果你使用IDE,原谅我只会eclipse,那么我告诉你,任何环境变量都不用配置;
1、编译器,eclipse的jdk插件已经帮你准备好了;
2、配置库,任何库都可以通过创建新的空库,引入jar文件实现,标准库eclipse已经为你准备好了,不用自己创建。如果是用户库,需要自己构建一个新库,命名,添加jar,放到项目中,到此为止,就结束了。置于编译过程如何去调用这些库都是eclipse的事情了。
------
总结:对于新手来说,使用IDE还是挺好的,等进一步学习以后,对java 的结构有一定了解了,再学学使用javac这种东西比较合适。因为似乎周围好多人都是因为第一步配置环境变量总是出错,就放弃了~你见VS开发C#要环境变量了吗?~~
每一个编辑单元就是一个.java文件。
每一个编辑单元有一个主类public,此类名称和编辑单元名称相同。
每一个编辑单元还可以有多个副类(非public),名称随便。
多个编辑单元组成包。
多个包导出一个.jar文件。
多个jar文件组成用户库、第三方库,标准库也是这个原理。
当需要引用用户库的时候;
首先需要构建一个库;
向库内导入各种包;
包会被自动解析成好多类,但其实是只有主类才能够使用。
图1 包的创建结构和库的引入结构
图2 主类可以调用,副类调用提示错误
-----------------------------关于java 的库的具体引用------------------------------------------------------------------
如果采用纯手动,不适用任何IDE(比如eclipse)的情况下,请按照网上的方式,有两种环境变量需要配置;
1、配置jdk,也就是编译器和jvm的运行,这个和path变量有关,使用DOS下javac命令编译;
2、配置库,也就是告诉编译器你的jar包放在哪里,这个和classpath有关,任何你需要引用的标准库或是第三方库,都需要添加到这个环境变量,以告诉编译器你import的那些内容在哪;
如果你使用IDE,原谅我只会eclipse,那么我告诉你,任何环境变量都不用配置;
1、编译器,eclipse的jdk插件已经帮你准备好了;
2、配置库,任何库都可以通过创建新的空库,引入jar文件实现,标准库eclipse已经为你准备好了,不用自己创建。如果是用户库,需要自己构建一个新库,命名,添加jar,放到项目中,到此为止,就结束了。置于编译过程如何去调用这些库都是eclipse的事情了。
------
总结:对于新手来说,使用IDE还是挺好的,等进一步学习以后,对java 的结构有一定了解了,再学学使用javac这种东西比较合适。因为似乎周围好多人都是因为第一步配置环境变量总是出错,就放弃了~你见VS开发C#要环境变量了吗?~~
相关文章推荐
- CentOS 6.2 使用第三方yum源安装更多rpm软件包以及centos系统的若干问题
- 关于java基础类型与引用类型内存存储问题,以及string.intern()方法(String两种创建方式的区别)
- 引用第三方库出现的java java.lang.NoClassDefFoundError问题
- C#中引用第三方ocx控件引发的问题以及解决办法
- Linux系统Eclipse CDT引用动态库(第三方库)的解决方案及问题
- Java写的手机计费系统(作为学习参考的实例:关键是Java类库里面的date和Calendar的使用和相互转换,以及一些日期的实际问题)
- 关于CocoaPod无法升级以及无法下载第三方库和Cocoapods在OS X 10.11系统上的无法正常使用的问题
- java序列化的引用问题以及将transitent的序列化方法
- Java语言学习--Java引用以及NullPointerException问题的解决
- 如何用java命令制作jar包,以及如何引用第三方jar包
- java 中值传递与引用传递以及方法中别名的问题
- Java Puzzlers笔记--puzzle 13: Animal Farm 优先级以及对象引用问题
- 编译.NET项目提示“找不到系统命名空间,请添加系统组件的引用”问题的解决方法(该组件已被该项目正确引用)
- BeanUtils与PropertyUtils区别以及java.util.Date发生异常问题
- 大型Java Web系统选型问题探讨
- java经典问题:传值还是传引用
- Ajax小系统使用效果,以及出现的问题(待朋友帮忙解答)
- 基于Java Applet的WebGIS系统开发的瓶颈问题
- 大型Java Web系统选型问题探讨(转自InfoQ.com)
- [引用]Java程序员应该搞懂的六个问题