JAVA编程要点和编程规范.ppt

上传人:牧羊曲112 文档编号:6510109 上传时间:2023-11-07 格式:PPT 页数:40 大小:240KB
返回 下载 相关 举报
JAVA编程要点和编程规范.ppt_第1页
第1页 / 共40页
JAVA编程要点和编程规范.ppt_第2页
第2页 / 共40页
JAVA编程要点和编程规范.ppt_第3页
第3页 / 共40页
JAVA编程要点和编程规范.ppt_第4页
第4页 / 共40页
JAVA编程要点和编程规范.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《JAVA编程要点和编程规范.ppt》由会员分享,可在线阅读,更多相关《JAVA编程要点和编程规范.ppt(40页珍藏版)》请在三一办公上搜索。

1、JAVA编程要点和编程规范,杭州新世纪 2011年7月朱宝君,内容,JAVA编程要点,1,2,3,JAVA编程规范,Q/A,Java2 的版本划分,Java语言的主要特性,面向对象三大特性,封装继承多态,封装(Encapsulation),封装:将方法和数据组织在一起,隐藏其具体实现而对外体现出公共的接口数据封装,提供公共接口访问方法封装,不用影响调用者,继承(Inheritance),广义地说,继承是指能够直接获得已有的性质和特性,而不必重复定义它们。在面向对象的软件技术中,继承是子类自动地共享父类中定义的数据和方法的机制。,继承的作用,使软件系统具有开放性更好地进行抽象与分类实现代码的复用

2、提高可维护性,Java接口实现多重继承,单一继承指明了子类和父类的层次关系和各自 的行为。多重继承是指一个类有多个父类,这使得类的 层次关系不清楚。接口则把方法的定义同类的层次区分开来,通 过接口可以在运行中动态地定位所调用的方 法,同时一个类可以实现多个接口,使得接口 提供了比多重继承更简单、更灵活的功能。,多态,编译多态重载运行多态Java实现运行时多态性的基础是动态方法调度,它是一种在运行时而不是在编译期调用重载方法的机制。,例子,类Parentpublic class Parent public Parent()System.out.print(1);public void print

3、()printOne();System.out.print(2);public void printOne()System.out.print(3);类:Clildpublic class Clild extends Parentpublic Clild()System.out.print(4);public void printOne()System.out.print(5);public static void main(String arg)Clild c=new Clild();c.print();,面向接口编程,要依赖于抽象,不要依赖于实现 方便代码复用,无需关注细节便于团队协同开发

4、,无编译依赖考虑你的设计中什么可能发生变化,找到一个系统的可变因素,数据类型,数据类型的分类如下所示:,数据类型,基本数据类型,复合数据类型,数值型,字符型:char,布尔型:boolean,整型:byte,short,int,long,实型:float,double,类:class,数组和字符串,接口:interface,字符串和字符串缓冲区,Java平台提供两个类String和StringBuffer,它们用于存储和操作字符串由多个字符组成的字符数据。String类用于其值不能改变的字符串;StringBuffer类用于被修改的字符串,通常用来动态的构造字符数据。字符串是常量,比字符串缓冲

5、区更高效,而且字符串可以被共享。,数据类型,每个变量都必须有一个数据类型.一个变量的数据类型决定了它能容纳的值和在它上面可以进行什么操作。Java编程语言有两大类数据类型:原始类型(primitive)引用类(reference),实例化,newnew 只能实现具体类的实例化,不适合于接口编程强类型newInstanceClass c=Class.forName(“A”);factory=(AInterface)c.newInstance();伸缩性、可扩展性、复用性弱类型,对象、类与实体的关系,接口(Interface),接口和类一样也是一种类型,也同样包含一些方法的定义。但与类不同的是:接

6、口中所定义的所有方法都是抽象方法(即没有实现的方法)。接口中所定义的方法由实现(implement)该接口的类来实现,一个类可以同时实现多个接口接口机制使Java的面向对象编程变得更加灵活。解决了单重继承带来的问题接口定义了对象的行为模型,相当于一个协议。实现接口的各个类负责实现接口所定义的行为。虽然实现细节各不相同,但对用户来说是一样的行为。,接口功能不能简单扩大,例如:要加个报股价的方法在接口里,此时所有实现它的类不能正常工作。,public interface StockWatcher final String sunTicker=SUNW;final String oracleTick

7、er=ORCL;final String ciscoTicker=CSCO;void valueChanged(String tickerSymbol,double newValue);void currentValue(String tickerSymbol,double newValue);,用继承来扩大接口,如果需要增加接口的功能,可以利用继承来实现:,public interface StockTracker extends StockWatcher void currentValue(String tickerSymbol,double newValue);,抽象类与接口,接口不可以

8、实现任何方法,而抽象类可以;类可以实现多个接口,但父类仅只有一个;接口和继承无关,不是类层次结构的一部分。无关的类可以实现相同接口。接口是设计的结果抽象类是重构的结果应用场景优先定义接口 如果有多个接口实现有公用的部分,则使用抽象类,然后继承它。,反射机制,Reflection 是 Java 程序开发语言的特征之一 运行时加载、探知、使用编译期间完全未知的 classes。Java程序可以加载一个运行时才得知名称 的class,获悉其完整构造,并生成其 对象实体、或对其fields设值、或唤起其methods1,反射例子,public Object getBean(String classNa

9、me)Object result=;try/获取类映射 Class cls=Class.forName(className);/实例化 Object bo=cls.newInstance();/获取方法映射 Method method=cls.getMethod(getDataMap,new Class);/根据方法映射和实例类调用方法 result=method.invoke(bo,null);,什么是异常?,异常(Exception)又称为例外,是指在程序运行过程中发生的非正常事件,这些事件的发生会影响程序的正常执行。如:进行数学中“无意义”的运算,例如除数为零、对负数求对数平方根等对数组

10、进行操作时,超出了数组的最大下标程序所需进行的I/O操作不能正常执行,如所需访问的文件不存在内存耗尽无法进行类的实例化JVM崩溃,为什么要异常处理?,对于任何语言的程序设计而言,错误的发生总是不可避免的为了加强程序的健壮性,程序设计时,必须充分考虑错误发生的可能性,并建立相应的处理机制。,异常,可以使用 try、catch、throw、throws 和 finally 来管理 Java 异常处理。要监控的程序语句包含在 try 块内catch 块中的代码用于捕获和处理异常。在方法返回之前绝对必须执行的代码应放置在 finally 块中要手动引发异常,使用关键字 throw。任何被抛到方法外部的

11、异常都必须用 throws 子句指定多重catch 和嵌套try-catch的使用自定义异常的编写和使用,异常对象,在Java语言中,我们用异常对象来表示不同的异常。所谓Java异常对象就是一个存放着相关错误信息的对象,如果方法运行时产生了异常,该方法就可以抛出一个异常对象为了表示不同种类的异常,Java语言中定义了许多异常类。,方法调用堆栈中异常对象的传递,当某一方法中的一个语句抛出一个异常时,如果该方法中没有处理该异常的语句,那么该方法就会中止执行,并将这个异常传递给堆栈中的下一层方法,直到某一方法中含有处理该异常的语句为止。如果该异常被传递至主方法,而主方法中仍然没有处理该异常的语句,则

12、异常将会被抛至JVM,程序中断。,调 用,传 递,手动引发异常,指定由方法引发的异常,try,finally,catch,throws,throw,处理异常,Java中的异常类,在Java语言中,任何的异常对象都是Throwable类的直接子类或间接子类的实例。Java的类库已经提供了一些常见的异常类,如果这些异常类不能够满足要求,用户也可以创建自己的异常类。,SERVLET,request中封装的是请求信息response中封装的是响应信息session,对象的串行化,所谓对象串行化是指读写对象的过程,其关键之处在于以串行的流的形式来表示结构化的对象。为了实现完整对象的输入输出,java.i

13、o包中提供了两个类:ObjectOutputStream和ObjectInputStream。这两个流类与其他的字节流类的功能类似,其特殊之处在于通过它们可以读写对象。对象的串行化通常在下面两个方式下使用:远程方法调用(RMI)在远程方法调用时,需要在客户机与服务器之间传递各种对象。对象持久性保存允许对象在创建它们的程序的生命周期结束后仍然存在保存,供以后的程序调用。,Serializable接口,并非所有对象都是可串行化的,如果要对某对象进行串行化,该对象的类必须实现Serializable接口 Serializable接口是一个空接口,也就是说,它不包含任何方法的声明,该接口的作用只是表明

14、这个类的对象可以被串行化,数据库连接池,直连创建连接需要耗费时间保持连接打开状态的代价很大连接池数据库连接池:Connection pooling,它是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请,使用,释放。数据库连接池运行机制从连接池获取或创建可用连接;使用完毕之后,把连接返还给连接池;在系统关闭前,断开所有连接并释放连接占用的系统资源;,事务,原子性对数据修改操作要么全部执行,要么完全不执行 一致性当事务完成时,必须使所有数据都具有一致的状态孤立性中间状态对其他事务不可见持久性已完成的结果的状态是持久的,MVC框架,设计模式,掌握常用的设计模式单例、工厂、模板等等,JAVA编程规范,参见JAVA编程规范,数据库设计规范,参见数据库设计规范,感谢您对杭州新世纪的长期关注与支持!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号