Java开发基础.ppt
《Java开发基础.ppt》由会员分享,可在线阅读,更多相关《Java开发基础.ppt(80页珍藏版)》请在咨信网上搜索。
1、Java开发基础开发基础.目录目录u第1章 Java体系结构u第2章 基本程序结构设计u第3章 对象与类u第4章 继承u第5章 接口与内部类u第6章 事件处理u第7章 异常与调试u第8章 流与文件Java体系结构体系结构nJava体系结构包括如下四大类技术:nJava程序设计语言nJava class文件格式nJava APInJava 虚拟机Java体系结构(续)体系结构(续)目录目录u第1章 Java体系结构u第2章 基本程序结构设计u第3章 对象与类u第4章 继承u第5章 接口与内部类u第6章 事件处理u第7章 异常与调试u第8章 流与文件大纲大纲n数据类型n变量n运算符n字符串n注释n
2、输入输出n控制流程n数组数据类型数据类型n数据类型n整型n浮点型nchar型nboolean型TypeTypeStorage RequirementStorage RequirementRangeRangeInt4 bytes2,147,483,648 to 2,147,483,647(just over 2 billion)Short2 bytes32,768 to 32,767Long8 bytes9,223,372,036,854,775,808 to 9,223,372,036,854,775,807Byte1 byte128 to 127TypeTypeStorage Require
3、mentStorage RequirementRangeRangefloat4 bytesapproximately 3.40282347E+38F(67 significant decimal digits)double8 bytesapproximately 1.79769313486231570E+308(15 significant decimal digits)Char Char:长度:长度 2 2字节无符号整型字节无符号整型 0 655350 65535BooleanBoolean:true true 、falsefalse数据类型数据类型n数据类型操作注意事项n尽量使用适合长度的
4、数据类型操作n尽量使用约定俗成的数据类型做常用操作n注意数据操作时可能发生的数据溢出及除0错误n进行金额操作时避免使用float 和 double,使用无损精度操作的大数值类型 BigInteger 和 BigDecimal变量变量n变量n初始化变量n常量n注意n定义变量时尽量赋予初始化值n变量的命名要简明达意n遵守变量命名的大小写规范n使用合适的描述符,尽可能在使用变量时定义,减小可见性运算符运算符n运算符n算术运算符n自增自减运算符n关系运算符与boolean运算符n位运算符n运算相关注意事项n使用JDK库实现常用算法及函数n数值类型的自动转换规则n强制类型转换及截位n枚举类型的使用字符串
5、字符串n字符串n代码点与代码单元n字符子串与拼接n相等的比较n注意事项n编码转换方法n子串下标计算n拼接的性能nString 方法 intern()的应用注释注释n注释n单行注释n多行注释n文档注释n注意n多行注释不能嵌套n方法及类说明尽量采取文档注释,并标注相关内容(author,see)n除了JDK1.5的标注Annotation外,注释不包括在编译后文件中输入输出输入输出n输入输出nJava 库提供了丰富的IO操作流包括如下:n数据流n文本流n字符流nZip文件流n应用范围n文件管理n网络数据传输n对象序列反序列化n压缩解压等流程控制流程控制n控制流程一n条件控制流程控制流程控制n控制流
6、程二n循环控制流程控制流程控制n控制流程三n多重选择目录目录u第1章 Java体系结构u第2章 基本程序结构设计u第3章 对象与类u第4章 继承u第5章 接口与内部类u第6章 事件处理u第7章 异常与调试u第8章 流与文件大纲大纲n对象构造顺序n方法参数传递:按值调用n类设计基本原则对象构造顺序对象构造顺序n对象构造顺序n类装载时,按类声明中出现的次序执行静态初始化块或静态初始化语句。n对象构造时:n所有数据域初始化为默认值n按类声明中出现的次序执行初始化块或初始化语句。n如果构造器第一行调用了第二个构造器,则跳转到第二个构造器中执行,直到返回。n执行这个构造器的主体部分。n注点事项n对象构造
7、器中显式调用另一构造器时,必须在对象构造器的第一行代码中。对象构造器中显式调用另一构造器时,必须在对象构造器的第一行代码中。n当类声明中同时存在初始化语句与初始化域中,变量初始化的代码的次序至当类声明中同时存在初始化语句与初始化域中,变量初始化的代码的次序至关重要。关重要。大纲大纲n对象构造顺序n方法参数传递:按值调用n类设计基本原则方法参数传递:按值调用方法参数传递:按值调用n一个方法不能修改一个基本数据类型的参数一个方法不能修改一个基本数据类型的参数n一个方法可以改变一个对象参数的状态一个方法可以改变一个对象参数的状态n一个方法不能让对象参数的引用到一个其它对象一个方法不能让对象参数的引用
8、到一个其它对象大纲大纲n对象构造顺序n方法参数传递:按值调用n类设计基本原则类设计基本原则类设计基本原则n类设计的基本原则类设计的基本原则n单一职责原则(单一职责原则(SRP):一个类应该仅有一个引起它变化的):一个类应该仅有一个引起它变化的原因。原因。n开放开放-封闭原则(封闭原则(OCP):一个类对于扩展时开放的,对于更):一个类对于扩展时开放的,对于更改是封闭的。改是封闭的。nLiskov替换原则(替换原则(LSP):子类必须能够替换掉它们的基类。):子类必须能够替换掉它们的基类。n依赖倒置原则(依赖倒置原则(DIP):高层模块不应该依赖于低层模块;抽):高层模块不应该依赖于低层模块;抽
9、象类不应该依赖于其细节,细节。象类不应该依赖于其细节,细节。n接口隔离原则(接口隔离原则(ISP):不应该强迫客户依赖于它们不用的方):不应该强迫客户依赖于它们不用的方法法类设计基本原则(续)类设计基本原则(续)n包设计的基本原则n包内聚性原则(包粒度)n重用发布等价原则(REP):重用的粒度就是发布的粒度。n共同重用原则(CRP):一个包中的所有类应该是共同重用的。如果重用了包中的一个类,那么就要重用包中的所有类。n共同封闭原则(CCP):包中的所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包产生影响,则将对该包中的所有类产生影响,而对于其它的包不造成任何影响。n考虑可重用性与
10、可开发性的平衡。n包耦合性原则(包稳定性)n无环依赖原则(ADP):在包的依赖关系图中不允许存在环。n稳定依赖原则(SDP):朝着移定的方向进行依赖。不稳定性I=Ce/(Ca+Ce)n稳定抽象原则(SAP):包的抽象程度应该与其稳定程度一致。抽象度A=Na/Nc目录目录u第1章 Java体系结构u第2章 基本程序结构设计u第3章 对象与类u第4章 继承u第5章 接口与内部类u第6章 事件处理u第7章 异常与调试u第8章 流与文件大纲大纲n继承的介绍nJava 继承的约束n继承的使用n继承与模式n反射n枚举继承的介绍继承的介绍n继承是面向对象编程的一块基石n利用已存在的类,复用这些类的方法和域n
11、利用继承,一些共性的特征可以抽象到超类,子类继承超类实现特有的属性nJava 中所有的对象都继承至 java.lang.Object,因此都拥有toString(),equals(),wait()等方法继承的约束继承的约束n不能实现多继承n父类提供了参数构造函数,子类必须实现n子类不能降低父类方法的可见域n子类不能抛出比父类构造函数或方法更多的异常n子类不能扩展父类的 final 方法继承的使用继承的使用n继承增加了重用代码,减少子类编码n把数据、行为和/或接口的共性尽可能地放到继承层次体系的高端 n继承树的层次不能太深n复杂的继承树提高维护的复杂性n继承树的上层尽量为抽象层n可以提高系统间的
12、松耦合n继承打破了对象的封装n子类可以访问父类的实现,父类的改动将会对子类产生影响n继承的动态绑定可以使程序灵活,更易于扩展n尽量减少定义域对子类可见(final 除外),减少数据被误写入危险,可提供读写方法功子类操作继承与模式继承与模式n模版模式继承与模式继承与模式n抽象工厂模式继承与模式继承与模式n适配器模式继承与模式继承与模式n策略模式 开发相关开发相关nJava 中不允许多继承,但允许实现多个接口nJava中,我们可以声明一个类扩展(extends)另一个类,继承的子类拥有访问超类的 protected 域的权限,并可以覆写已有方法或添加新的方法n继承使用应谨慎,不要滥用继承。反射反射
13、n允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,并可于运行时改变fields内容或唤起 methods。n可动态获取的内容包括nmodifiers(诸如public,static)nsuperclass(例如Object)ninterfaces(例如Cloneablenfields和methods等目录目录u第1章 Java体系结构u第2章 基本程序结构设计u第3章 对象与类u第4章 继承u第5章 接口与内部类u第6章 事件处理u第7章 异常与调试u第8章 流与文件大纲大纲n接口与抽象类的选择n克隆及其注意事项n接口与回调n内部类、局部类、匿名类
14、nJDK的Proxy与CGLib的动态代理区别接口与抽象类的选择接口与抽象类的选择n基本原则n正确、合理地理解领域本质与设计意图。n在接口和抽象类的选择上,必须遵守这样一个原则:行为模型应该总是通过接口而不是抽象类定义。n合理理解OCP原则、ISP原则n考虑因素n是否可能被多继承n是否有默认行为n行为集合是否已稳定n“is a”还是“like a”关系大纲大纲n接口与抽象类的选择n克隆及其注意事项n接口与回调n内部类、局部类、匿名类nJDK的Proxy与CGLib的动态代理区别克隆及其注意事项克隆及其注意事项n浅克隆与深克隆n默认实现是浅克隆(本地方法实现)(java.util.Abstrac
15、tMap默认实现是浅克隆)n如果原始对象与浅克隆对象共享的子对象是不可变的,则不会产生负面问题。n采用序列化方法实现深度克隆,但不推荐。如com.kingdee.util.ObjectUtils.createCopy(Object o)n注意事项n避免死循环n应用单例模式时,需注意屏蔽clone方法大纲大纲n接口与抽象类的选择n克隆及其注意事项n接口与回调n内部类、局部类、匿名类nJDK的Proxy与CGLib的动态代理区别接口与回调接口与回调n回调实现方法n模板方法,如:BOS的Entity方法生成的代码。n注入方式,如:Observer设计模式n动态代理与拦截器方法n注意事项n合理利用接口
16、,避免写僵硬、强藕合代码。n选用合适的回调实现方式,避免写侵入式代码。大纲大纲n接口与抽象类的选择n克隆及其注意事项n接口与回调n内部类、局部类、匿名类nJDK的Proxy与CGLib的动态代理区别内部类、局部类、匿名类内部类、局部类、匿名类n内部类n编译器会为非静态的内部类添加一个对外围类的隐式引用。n内部类是一种编译器现象,与虚拟机无关。n局部类n不能用可见性说明符进行声明。n可访问final类型的局部变量。运行时,虚拟机在方法参数变量释放之前对引用的局部变量进行备份。大纲大纲n接口与抽象类的选择n克隆及其注意事项n接口与回调n内部类、局部类、匿名类nJDK的Proxy与CGLib的动态代
17、理区别JDK的的Proxy与与CGLib的动态代理区别的动态代理区别nJDK的Proxyn只能实现基于接口的代理n一个代理类仅有一个调用处理器(InvoctionHandler)的实例变量n代理类仅覆盖Object类的toString/equals/hashCode方法,其它的方法没有重定义n对于特定的类加载器和给定的一组接口而言,只有一个代理类。n如果代理类实现的所有接口都是public,那代理类不属于特定的;否则,所有非公有的接口都必须属于同一个包,同时,代码类也属于这个包。n存在同签名方法时,接口的顺序至关重要。nCGLibn可以采用实现接口,或继承父类方式实现代理目录目录u第1章 Ja
18、va体系结构u第2章 基本程序结构设计u第3章 对象与类u第4章 继承u第5章 接口与内部类u第6章 事件处理u第7章 异常与调试u第8章 流与文件事件处理事件处理n事件处理与 MVCnModel是代表组件状态和低级行为的部分,它管理着自己的状态并且处理所有对状态的操作 nView代表了管理model所含有的数据的一个视觉上的呈现。一个Model可以有一个以上的View nController管理着model和用户之间的交互的控制。它提供了一些方法去处理当model的状态发生了变化时的情况 n运作时序n按钮 model 保存按钮的内部状态及行为n控制器在发生按钮点击事件后将事件给模型,模型根据
19、行为更新内部状态。控制器通知视图改变按钮的显示n视图根据按钮的模型更新显示事件处理事件处理n事件的继承模型事件处理事件处理n组件的事件处理事件类型监听器适配器ActionEvent ActionListener AdjustmentEvent AdjustmentListener FocusEvent FocusListener FocusAdapter ItemEvent ItemListener KeyEventKeyListener KeyAdapter MouseEventMouseListenerMouseAdapterMouseMotionListenerMouseMotionAd
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 开发 基础
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。