




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
包及访问控制权限目录2、本章预计讲解的知识点13、具体内容23.1、包23.2、导入包23.3、静态导入33.4、系统常用包43.5、访问权限53.6、命名规范63.7、Jar命令64、总结92、本章预计讲解的知识点1. 包的定义及导入2. Jar命令的使用3. JDK1.5的新特性静态导入4. 访问控制权限5. 命名规范6. Jar命令3、具体内容3.1、包包实际上就是一个文件夹,在不同的文件夹中可以存在同名的类,那么这就是包的作用。在Java中使用package语法定义包:package org.lxh.demo ;public class Hello public static void main(String args) System.out.println(HelloWorld!) ;此时,使用package在类中定义了一个包。在生成class文件的时候需要将所有的class类放在指定的包中。之后,通过以下命令进行打包编译:javac -d . Hello.java表示为当前类打包。l -d:表示生成目录,根据package的定义生成l . (点):表示在当前所在的文件夹中生成那么,打包后的完整的类名称:包 . 类名称运行:java org.lxh.demo.Hello3.2、导入包在程序中很多的类都存放在不同的包中,如果现在要导入不同的类,则可以使用import语句。package org.demoa ;public class SayHello public void print() System.out.println(hello world) ;此类完成之后,在不同的包的类中导入此类,产生对象并使用。package org.demob ;import org.demoa.SayHello ; /导入所需要的类public class TestSayHello public static void main(String args) SayHello sh = new SayHello() ;sh.print() ; 在进行导包操作时,一定要注意:如果一个包中的类需要被外部访问,那么此类一定声明成public class类型。当然,如果现在假设要导入一个包中的多个类,如果分开导入的话会很麻烦。import org.demoa.* ; /自动导入所需要的类但是,在使用包的时候也有一点注意package org.demob ;import org.demoa.* ; /导入所需要的类import org.democ.* ; /导入所需要的类public class TestSayHello public static void main(String args) SayHello sh = new SayHello() ;sh.print() ; 因为democ和demoa下都存在SayHello,所以,此时最好明确的指出哪个包中的SayHello.package org.demob ;import org.demoa.* ; /导入所需要的类import org.democ.* ; /导入所需要的类public class TestSayHello public static void main(String args) org.demoa.SayHello sh = new org.demoa.SayHello() ;sh.print() ; 在开发时一定要始终注意一个原则:l 所有的类必然要放在一个包之中,没有包的类是不存在的。3.3、静态导入如果一个包中的某个类中的方法全部都是static类型,则就可以使用静态导入。Math类:package org.demox ; /打包public class Math public static int add(int i,int j) return i+j ; public static int sub(int i ,int j) return i-j ;在demox中定义的Math类中的全部方法都是静态操作,那么此时就可以使用import static语句完成。import static org.demox.Math.* ; /导入包中全部静态方法public class TestMath public static void main(String args) System.out.println(add(1,1) ;System.out.println(sub(1,1) ;编译和运行:javac -d . Math.javajavac TestMath.javajava TestMath3.4、系统常用包在Java中提供了大量的系统开发包,这些包:1. java.lang,此包中包含了各种常用的类,例如:String,此包属于自动导入。2. java.lang.reflect:此包为反射机制包,是整个Java乃至整个Java世界中最重要的包,此包可以完成大量的低层操作。3. java.util包:工具包,如果把此包掌握的非常清楚,则可以方便的做各种设计、各种开发。4. java.io包:IO操作5. :网络编程6. java.sql:数据库编程7. java.text:国际化程序的应用3.5、访问权限之前接触过三种访问权限:l public:最大的,公共的,共同访问的l private:最小的,只能在本类中访问l default:默认的,只能在本包中访问l protected:在本包,以及不同包的子类中可以访问。No.作用域privatedefaultprotectedpublic1本类2同一包的类3不同包的类4不同包的非子类来验证protected访问权限:package org.demo1 ;public class DemoA protected String name = hello ;之后,在demo02包中的子类去访问DemoA中的name属性。package org.demo02 ;import org.demo1.* ;class DemoB extends DemoA /不同包的子类public void print() System.out.println() ;public class TestDemo /不同包的非子类,不可用public static void main(String args) DemoB d = new DemoB() ;d.print() ; = ; /没有这句,照常执行,若加上,则报错 3.6、命名规范在java中所有的属性、类都是有命名规范的,开发时必须严格的按照命名规范的要求开发代码:1. 类的命名:每个单词的首字母大写2. 方法的命名:第一个单词的首字母小写,之后每个单词的首字母大写3. 属性的命名:第一个单词的首字母小写,之后每个单词的首字母大写4. 常量的命名:所有的单词字母大写5. 包的命名:所有的单词字母小写(没有包的类是不存在的)3.7、Jar命令在开发中,一个系统会有很多的类出现,如果现在直接把这些类散装着给对方,则肯定不好,因为太多了,所以一般情况下都会将这些类打成一个jar包,以jar包的形式把这些类交给用户使用。在java中就提供了jar命令。在DOS下输入jar命令:现在有Hello类:package org.lxh.demo ;public class Hello public void print() System.out.println(Hello World! ) ;以上的类编译完成之后,将其打成jar包的形式。javac -d . Hello.java /打包编译jar -cvf my.jar org /打成jar包,其中,-c create new archive , -v generate verbose output on standard output, -f specify archive file namepackage demo ;import org.lxh.demo.* ;public class Test public static void main(String args) Hello hello = new Hello() ;hello.print() ;程序导入完成之后,调用方法。如果要想使用jar包,则必须配置classpath。set classpath=.;g:javabaseApril0408my.jarjavac -d . Test.javajava
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届贵州省湄潭县湄江中学化学高二第一学期期中统考试题含解析
- 白山市重点中学2026届化学高一第一学期期末综合测试试题含解析
- 山东省青岛市平度第九中学2026届化学高二上期中检测试题含解析
- 河北省沧州市沧县凤化店中学2026届高一化学第一学期期末教学质量检测模拟试题含解析
- 安徽省黄山市徽州区第一中学2026届化学高一上期末达标测试试题含解析
- 新疆昌吉市教育共同体2026届化学高二上期末联考试题含答案
- 新疆昌吉市教育共同体2026届高一化学第一学期期中教学质量检测模拟试题含解析
- 广东省-北京师范大学东莞石竹附属学校2026届高二化学第一学期期中达标检测试题含解析
- 2026届河北省廊坊市名校化学高一上期中学业质量监测模拟试题含解析
- 2025年学历类自考专业(法律)婚姻家庭法-税法参考题库含答案解析(5套)
- 2025年建筑工程-安全员C证-安全员(C证·上海)历年参考题库典型考点含答案解析
- 光伏项目施工组织设计方案
- 2025政府采购评审专家入库题库与答案
- 2025至2030医学混合成像系统行业产业运行态势及投资规划深度研究报告
- 2025年内蒙古交通集团考试笔试试题(含答案)
- 低压安全隐患排查
- 学堂在线 高技术与现代局部战争 章节测试答案
- 水费收缴使用管理办法
- 《研学旅行指导师实务》课件-第1章 研学旅行指导师职业基础
- 广东省汕头市金平区2023-2024学年七年级下学期期末数学试题(无答案)
- PWM控制技术的最新科技成果-介绍ISL6752
评论
0/150
提交评论