包及访问控制权限
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
包及访问控制权限
高兴伟
本章内容
• 包的概念及其使用 • jar的使用 • 访问权限控制
一、包的概念及其使用
• 理解包:Java中包主要将不同功能的文件进行分割。
在之前的代码开发中,所有编译后的*.class文件都保存在同一个目录中, 这样一来就会带来一个问题:如果出现了同名文件,就会发生文件的覆盖, 因为在同一个目录中不允许有重名文件。而要解决同名文件冲突的问题, 就必须设置不同的目录,因为在不同的目录下可以有重名文件。
将jar包放到另一个目录下,则需要重新设置classpath:
若出现错误提示,在将.加入到classpath中:
• 作业:1、新建一个Person类(或者其他类),定义包。使用javac编译 成class文件。之后再定义一个Demo类调用导入该Person类,并且实例 化列,调用方法输出信息(它俩不能在一个包下,否则就不用import了)
一般都会在一个文件中只定义一个public class类。
• 系统常用包:
二、jar的使用
• 将所有的*.class文件压缩成一个文件,可以压缩成.jar文件。可以使用 JDK目录下的jar.exe命令,主要参数: -c : 创建一个新文档
-v:生成详细的输出信息 -f:指定存档的文件名
注意:jar包中全部都是class文件,相当于是一个压缩包,有了该压缩包就 可以使用其中的类,
• 属性:private • 方法:public • private修饰的目中添加需要的jar包:
在如下代码中导入打包的内容,并调用方法完成显示:
使用命令编译和运行上面的代码,得到导入类中方法的返回结果:
注意:生成的jar包所在位置一定要在classpath配置中才能被找到(在 MyEclipse的IDE中build path才能被找到一个道理)
举例:定义一个类,并进行打包:
在使用jar 打包是可以给打包后的jar文件起一个名字:XXX.jar,另外还需 要规定从哪个目录(包的根路径)开始打包,比如下面的com表示从com 目录开始进行打包:
打完的包如果想使用必须从classpath目录下面配置,让调用的文件能够找 到该jar包中的内容。可以使用set classpath也可以直接在环境变量 (classpath)中添加。
• import导入包:如果一个文件想使用其他包中的类,则需要导入,同一 个包中的类则不需要导入。
• 注意:如果导入的两个包中存在同名类(或者一个文件中需要使用不同 包中的同名类),此时可以使用完成的包.类名称来区分使用的是哪个具 体的包。
com.sdbairui.util.Message mes = new como.sdbairui.util.Message();
• 例子:同类名不同包的情况:
• 关于public class 和class的区别:
(1)public class:文件名称必须与类名称保持一致,在一个*.java文件 里只能有一个public class声明,如果一个类需要被不同的包访问,一定要 定义为public class。
(2)class:文件名称可以与类名称不一致,并且一个*.java文件里面可以 有多个class定义,编译后会形成多个*.class文件(一个class类对应一个 class文件),如果一个类使用的是class定义那么表示该类只能被本包访 问。
• 2、将上面的Person类使用jar命令生成一个jar文件,之后设置 classpath,调用该类(之前 应该把生成的class文件删掉),输出信息。
• 3、使用MyEclipse中的生成jar包的工具和build path功能导入生成的 jar包,并测试是否可用。
三、访问权限控制
• default:默认,什么也不写,但是不能显式去声明一个default类型
• 运行的代码: java 包.类名称 比如:java com.sdbairui.test.HelloDemo
注意:生成包后如果执行则必须加上包名称,才能找到。
• set classpath =.;e:\com\sdbairui\model 指定到该目录下面去找有没 有class文件
• 每次设置会比较麻烦,所以可以在环境变量中设置classpath指定到该目 录下面。
• 放在class前边修饰类的关键字只能是:默认,public、abstract、final • public:类、属性、方法 • protected:属性、方法
• protected测试:
• Default验证同一个包中不同的类是否可以访问:
• 不同包下的非子类是否能够访问protected修饰的属性或者方法:
• 定义包的关键字:package
举例:一个在包下的例子
.表示的是目录(系统中的/),当程序中出现了包的定义后,在编译程序时, 就会将生成的.class文件保存在指定目录下(包名称就是目录名称)
• 打包编译命令:
javac -d . HelloDemo.java
-d:表示生成目录,根据package的定义生成
. :设置保存的路径,如果为“.”表示在当前所在的路径下生成
使用上面的命令过程:建立一个.java文件放在当前目录下(任意目录,比 如E:\),在当前目录下执行上面的代码,则会将生成的.class文件按照 包指定的自定生成目录,并将.class 文件放到目录下(比如在e:下生成 com\sdbairui\test,在里面有个HelloDemo.class【每一个类会单独生 成一个class文件】)
高兴伟
本章内容
• 包的概念及其使用 • jar的使用 • 访问权限控制
一、包的概念及其使用
• 理解包:Java中包主要将不同功能的文件进行分割。
在之前的代码开发中,所有编译后的*.class文件都保存在同一个目录中, 这样一来就会带来一个问题:如果出现了同名文件,就会发生文件的覆盖, 因为在同一个目录中不允许有重名文件。而要解决同名文件冲突的问题, 就必须设置不同的目录,因为在不同的目录下可以有重名文件。
将jar包放到另一个目录下,则需要重新设置classpath:
若出现错误提示,在将.加入到classpath中:
• 作业:1、新建一个Person类(或者其他类),定义包。使用javac编译 成class文件。之后再定义一个Demo类调用导入该Person类,并且实例 化列,调用方法输出信息(它俩不能在一个包下,否则就不用import了)
一般都会在一个文件中只定义一个public class类。
• 系统常用包:
二、jar的使用
• 将所有的*.class文件压缩成一个文件,可以压缩成.jar文件。可以使用 JDK目录下的jar.exe命令,主要参数: -c : 创建一个新文档
-v:生成详细的输出信息 -f:指定存档的文件名
注意:jar包中全部都是class文件,相当于是一个压缩包,有了该压缩包就 可以使用其中的类,
• 属性:private • 方法:public • private修饰的目中添加需要的jar包:
在如下代码中导入打包的内容,并调用方法完成显示:
使用命令编译和运行上面的代码,得到导入类中方法的返回结果:
注意:生成的jar包所在位置一定要在classpath配置中才能被找到(在 MyEclipse的IDE中build path才能被找到一个道理)
举例:定义一个类,并进行打包:
在使用jar 打包是可以给打包后的jar文件起一个名字:XXX.jar,另外还需 要规定从哪个目录(包的根路径)开始打包,比如下面的com表示从com 目录开始进行打包:
打完的包如果想使用必须从classpath目录下面配置,让调用的文件能够找 到该jar包中的内容。可以使用set classpath也可以直接在环境变量 (classpath)中添加。
• import导入包:如果一个文件想使用其他包中的类,则需要导入,同一 个包中的类则不需要导入。
• 注意:如果导入的两个包中存在同名类(或者一个文件中需要使用不同 包中的同名类),此时可以使用完成的包.类名称来区分使用的是哪个具 体的包。
com.sdbairui.util.Message mes = new como.sdbairui.util.Message();
• 例子:同类名不同包的情况:
• 关于public class 和class的区别:
(1)public class:文件名称必须与类名称保持一致,在一个*.java文件 里只能有一个public class声明,如果一个类需要被不同的包访问,一定要 定义为public class。
(2)class:文件名称可以与类名称不一致,并且一个*.java文件里面可以 有多个class定义,编译后会形成多个*.class文件(一个class类对应一个 class文件),如果一个类使用的是class定义那么表示该类只能被本包访 问。
• 2、将上面的Person类使用jar命令生成一个jar文件,之后设置 classpath,调用该类(之前 应该把生成的class文件删掉),输出信息。
• 3、使用MyEclipse中的生成jar包的工具和build path功能导入生成的 jar包,并测试是否可用。
三、访问权限控制
• default:默认,什么也不写,但是不能显式去声明一个default类型
• 运行的代码: java 包.类名称 比如:java com.sdbairui.test.HelloDemo
注意:生成包后如果执行则必须加上包名称,才能找到。
• set classpath =.;e:\com\sdbairui\model 指定到该目录下面去找有没 有class文件
• 每次设置会比较麻烦,所以可以在环境变量中设置classpath指定到该目 录下面。
• 放在class前边修饰类的关键字只能是:默认,public、abstract、final • public:类、属性、方法 • protected:属性、方法
• protected测试:
• Default验证同一个包中不同的类是否可以访问:
• 不同包下的非子类是否能够访问protected修饰的属性或者方法:
• 定义包的关键字:package
举例:一个在包下的例子
.表示的是目录(系统中的/),当程序中出现了包的定义后,在编译程序时, 就会将生成的.class文件保存在指定目录下(包名称就是目录名称)
• 打包编译命令:
javac -d . HelloDemo.java
-d:表示生成目录,根据package的定义生成
. :设置保存的路径,如果为“.”表示在当前所在的路径下生成
使用上面的命令过程:建立一个.java文件放在当前目录下(任意目录,比 如E:\),在当前目录下执行上面的代码,则会将生成的.class文件按照 包指定的自定生成目录,并将.class 文件放到目录下(比如在e:下生成 com\sdbairui\test,在里面有个HelloDemo.class【每一个类会单独生 成一个class文件】)