欢迎来到天天文库
浏览记录
ID:38967011
大小:690.31 KB
页数:40页
时间:2019-06-22
《JAVA编程要点和编程规范》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、JAVA编程要点和编程规范杭州新世纪2011年7月朱宝君内容JAVA编程要点123JAVA编程规范Q/AJava2的版本划分Java2J2MEJ2SEJ2EEJava语言的主要特性平台无关性简单性面向对象分布式、动态性、可靠性、安全性……多线程面向对象三大特性封装继承多态封装(Encapsulation)封装:将方法和数据组织在一起,隐藏其具体实现而对外体现出公共的接口数据封装,提供公共接口访问方法封装,不用影响调用者变量方法继承(Inheritance)广义地说,继承是指能够直接获得已有的性质和特性,而不必重复定义它们。在面向对
2、象的软件技术中,继承是子类自动地共享父类中定义的数据和方法的机制。共性部分继承部分个性部分父类子类继承的作用使软件系统具有开放性更好地进行抽象与分类实现代码的复用提高可维护性Java接口实现多重继承单一继承指明了子类和父类的层次关系和各自的行为。多重继承是指一个类有多个父类,这使得类的层次关系不清楚。接口则把方法的定义同类的层次区分开来,通过接口可以在运行中动态地定位所调用的方法,同时一个类可以实现多个接口,使得接口提供了比多重继承更简单、更灵活的功能。多态编译多态重载运行多态Java实现运行时多态性的基础是动态方法调度,它是一种
3、在运行时而不是在编译期调用重载方法的机制。例子类ParentpublicclassParent{publicParent(){System.out.print("1");}publicvoidprint(){printOne();System.out.print("2");}publicvoidprintOne(){System.out.print("3");}}类:ClildpublicclassClildextendsParent{publicClild(){System.out.print("4");}publicvoidp
4、rintOne(){System.out.print("5");}publicstaticvoidmain(Stringarg[]){Clildc=newClild();c.print();}}面向接口编程要依赖于抽象,不要依赖于实现方便代码复用,无需关注细节便于团队协同开发,无编译依赖考虑你的设计中什么可能发生变化,找到一个系统的可变因素数据类型数据类型的分类如下所示:数据类型基本数据类型复合数据类型数值型字符型:char布尔型:boolean整型:byte,short,int,long实型:float,double类:clas
5、s数组和字符串接口:interface字符串和字符串缓冲区Java平台提供两个类String和StringBuffer,它们用于存储和操作字符串-由多个字符组成的字符数据。String类用于其值不能改变的字符串;StringBuffer类用于被修改的字符串,通常用来动态的构造字符数据。字符串是常量,比字符串缓冲区更高效,而且字符串可以被共享。数据类型每个变量都必须有一个数据类型.一个变量的数据类型决定了它能容纳的值和在它上面可以进行什么操作。Java编程语言有两大类数据类型:原始类型(primitive)引用类(reference
6、)实例化newnew只能实现具体类的实例化,不适合于接口编程强类型newInstanceClassc=Class.forName(“A”);factory=(AInterface)c.newInstance();伸缩性、可扩展性、复用性弱类型对象、类与实体的关系对象类计算机逻辑的实现映射计算机世界实例化抽象实体抽象数据类现实世界概念世界抽象接口(Interface)接口和类一样也是一种类型,也同样包含一些方法的定义。但与类不同的是:接口中所定义的所有方法都是抽象方法(即没有实现的方法)。接口中所定义的方法由实现(implement
7、)该接口的类来实现,一个类可以同时实现多个接口接口机制使Java的面向对象编程变得更加灵活。解决了单重继承带来的问题接口定义了对象的行为模型,相当于一个协议。实现接口的各个类负责实现接口所定义的行为。虽然实现细节各不相同,但对用户来说是一样的行为。接口功能不能简单扩大例如:要加个报股价的方法在接口里,此时所有实现它的类不能正常工作。publicinterfaceStockWatcher{finalStringsunTicker="SUNW";finalStringoracleTicker="ORCL";finalStringcis
8、coTicker="CSCO";voidvalueChanged(StringtickerSymbol,doublenewValue);voidcurrentValue(StringtickerSymbol,doublenewValue);}用继承
此文档下载收益归作者所有