Java入门基本概念下载

举报
资源描述
Java入门基本概念Java的白皮书为我们提出了 Java语言的11个关键特性。(1)Easy:Java的语法比C+的相对简单,另一个方面就是Java能使软件在很小的机器上运行,基础解释其和类库的支持的大小约为40kb,增加基本的标准库和线程支持的内存需要增 加 125kbo(2)分布式:Java带有很强大的TCP/IP协议族的例程库,Java应用程序能够通过URL来穿过网络来访问远程对象,由于servlet机制的出现,使 Java编程非常的高效,现在许多的大的web server都支持servlet。(3)0。:面向对象设计是把重点放在对象及对象的接口上的一个编程技术.其面向对象和C+有很多不同,在与多重继承的处理及Java的原类模型。(4)健壮特性:Java采取了一个安全指针模型,能减小重写内存和数据崩溃的可能型。(5)安全:Java用来设计网路和分布系统,这带来了新的安全问题,Java可以用来构建防病毒和防攻击的System.事实证明Java在防毒这方面做的比较好。(6)中立体系结构:Java编译其生成体系结构中立的目标文件格式可以在很多处理器上执行,编译器产生的指令字节码(Javabytecode)实现此特性,此字节码可以在任何机器上解释执行。(7)可移植性:Ja va 中对基本数据结构类型的大小和算法都有严格的规定所以可移植性很好。(8)多线程:Java处理多线程的过程很筒单,Java把多线程实现交给底下操作系统或线程程序完成.所以多线程是Java作为服务器端开发语言的流行原因之-o(9)Applet和 servlet:能够在网页上执行的程序叫Applet,需要支持Java的浏览器很多,而 applet支持动态的网页,这是很多其他语言所不能做到的。基本概念1.0 0 P 中唯一关系的是对象的接口是什么,就像计算机的销售商她不管电源内部结构是怎样的,他只关系能否给你提供电就行了,也就是只要知道can or not而不是how and why.所有的程序是由 定的属性和行为对象组成的,不同的对象的访问通过函数调用来完成,时象间所有的交流都是通过方法调用,通过对封装对象数据,很大限度上提高复用率。2.0 0 P 中最重要的思想是类,类是模板是蓝图,从类中构造 个对象,即创建了这个类的一个实例(instance)。3.封装:就是把数据和行为结合起在一个包中)并对对象使用者隐藏数据的实现过程,一个对象中的数据叫他的实例字段(instance field)4.通过扩展一个类来获得一个新类叫继承(inhehtance),而所有的类都是由Object根超类扩展而得,根超类下文会做介绍。5.对象的3 个主要特性behavior-说明这个对象能做什么.state-当对象施加方法时对象的反映.identity-与其他相似行为对象的区分标志.每个对象有唯一的indentity而这3 者之间相互影响.6.类之间的关系:use-a:依赖关系has-a:聚合关系is-a:继承关系-例:A 类继承了 B 类,此时A 类不仅有了 B 类的方法,还有其自己的方法.(个性存在于共性中)7.构造对象使用构造器:构造器的提出,构造器是一种特殊的方法,构造对象并对其初始化。例:Data类的构造器叫Datanew Data。-构造一个新对象,且初始化当前时间.Data happyday=new Data。-把个对象赋值给一个变量happyday,从而使该对象能够多次使用,此处要声明的使变量与对象变量二者是不同的.new返回的值是一个引用。构造器特点:构造器可以有0 个,个或多个参数构造器和类有相同的名字一个类可以有多个构造器构造器没有返回值构造器总是和new运算符一起使用.8.重载:当多个方法具有相同的名字而含有不同的参数时,便发生重载.编译器必须挑选出调用哪个方法。9.包(package)Java允许把一个或多个类收集在一起成为一组,称作包,以便于组织任务,标准Java库分为许多包.java.lang java.util java,net等,包是分层次的所有的java包都在java和 javax包层次内。10.继承思想:允许在已经存在的类的基础上构建新的类,当你继承一个已经存在的类时,那么你就复用了这个类的方法和字段,同时你可以在新类中添加新的方法和字段。11.扩展类:扩展类充分体现了 is-a的继承关系.形式为:class(子类)extends(基类)。12.多态:在java中,对象变量是多态的.而java中不支持多重继承。13.动态绑定:调用对象方法的机制。(1)编译器检查对象声明的类型和方法名。(2)编译器检查方法调用的参数类型。(3)静态绑定:若方法类型为priavte static fin a l编译器会准确知道该调用哪个方法。(4)当程序运行并且使用动态绑定来调用一个方法时,那么虚拟机必须调用x 所指向的对象的实际类型相匹配的方法版本。(5)动态绑定:是很重要的特性,它能使程序变得可扩展而不需要重编译已存代码。U.final类:为防止他人从你的类上派生新类,此类是不可扩展的。15.动态调用比静态调用花费的时间要长。16.抽象类:规定一个或多个抽象方法的类本身必须定义为abstract例:public abstract string getDescripition17.Java中的每一个类都是从Object类扩展而来的。18.object 类中的 equal 和 toString 方法。equal用于测试一个对象是否同另一个对象相等。toString返回一个代表该对象的字符串,几乎每一个类都会重载该方法,以便返回当前状态的正确表示.(toString方法是一个很重要的方法)19.通用编程:任何类类型的所有值都可以同object类性的变量来代替。20.数组列表:ArrayList动态数组列表,是一个类库,定义在java.3tl包中,可自动调节数组的大小。21.class类 object类中的getclass方法返回ckass类型的一个实例,程序启动时包含在 main方法的类会被加载,虚拟机要加载他需要的所有类,每一个加载的类都要加载它需要的类。22.class类为编写可动态操纵ja va 代码的程序提供了强大的功能反射,这项功能为JavaBeans特别有用,使用反射Java能支持VB程序员习惯使用的工具。能够分析类能力的程序叫反射器,Java中提供此功能的包叫Java.lang.reflect反射机制十分强大.1.在运行时分析类的能力。2.在运行时探察类的对象。3.实现通用数组操纵代码。4.提供方法对象。而此机制主要针对是工具者而不是应用及程序。反射机制中的最重要的部分是允许你检查类的结构.用到的API有:java.lang.reflect.Field 返回字段.java.reflect.Method 返回方法.java.lang.reflect.Constructor 返回参数.方法指针:java没有方法指针,把一个方法的地址传给另一个方法,可以在后面调用它,而接口是更好的解决方案。23.接口(Interface)说明类该做什么而不指定如何去做,一个类可以实现一个或多个interface24.接口不是一个类,而是对符合接口要求的类的一套规范。若实现一个接口需要2 个步骤:1 .声明类需要实现的指定接口。2.提供接口中的所有方法的定义。声明一个类实现-一个接口需要使用implements关键字class actionB implements Comparable 其 actionb 需要提供 Comparelb 方法,接口不是类,不能用new实例化一个接口.25.一个类只有一个超类,但一个类能实现多个接口。Ja va 中的一个重要接口:Cloneable26.接口和回调.编程一个常用的模式是回调模式,在这种模式中你可以指定当一个特定时间发生时回调对象上的方法。例:ActionListener 接口 监听.类似的 API 有:java.swing.JOptionPanejava.swing.Timerjava.awt.Tookit27.对象clone:clone方法是object 一个保护方法,这意味着你的代码不能简单的调用28.内部类:一个内部类的定义是定义在另一个内部的类。原因是:1 .一个内部类的对象能够访问创建它的对象的实现,包括私有数据。2.对于同一个包中的其他类来说,内部类能够隐藏起来。3.匿名内部类可以很方便的定义回调。4.使用内部类可以非常方便的编写事件驱动程序。29.代理类(proxy):1 .指定接口要求所有代码2.object类定义的所有的方法(toString equals)30.数据类型:Java是强调类型的语言,每个变量都必须先申明它都类型,ja v a 中总共有 8 个基本类型.4 种是整型,2 种是浮点型,一种是字符型,被用于Unicode编码中的字符,布尔型。61 条面向对象设计的经验原则1)所有数据都应该隐臧在所在的类的内部。p13(2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。p15(3)尽量减少类的协议中的消息。p16(4)实现所有类都理解的最基本公有接口 例如,拷贝操作(深拷贝和浅拷贝)、相等性判断、正确输出内容、从 ASCII描述解析等等。p16(5)不要把实现细节(例如放置共用代码的私有函数)放到类的公有接口中。p17如果类的两个方法有一段公共代码,那么就可以创建一个防止这些公共代码的私有函数。(6)不要以用户无法使用或不感兴趣的东西扰乱类的公有接口。p17(7)类之间应该零耦合,或者只有导出耦合关系。也即,一个类要么同另一个类毫无关系,要么只使用另一个类的公有接口中的操作。p18(8)类应该只表示一个关键抽象。p19包中的所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包影响,则将对包中的所有类产生影响,而对其他的包不造成任何影响.(9)把相关的数据和行为集中放置。p19设计者应当留意那些通过get之类操作从别的对象中获取数据的对象。这种类型的行为暗示着这条经验原则被违反了。(10)把不相关的信息放在另一个类中(也即:互不沟通的行为)。p19朝着稳定的方向进行依赖.(11)确保你为之建模的抽象概念是类,而不只是对象扮演的角色。p23(12)在水平方向上尽可能统一地分布系统功能,也即:按照设计,顶层类应当统一地共享工作。p30(13)在你的系统中不要创建全能类/对象。对名字包含Driver、Manager,System.Susystem的类要特别多加小心。p30规划一个接口而不是实现一个接口。(14)对公共接口中定义了大量访问方法的类多加小心。大量访问方法意味着相关数据和行为没有集中存放。p30(15)对包含太多互不沟通的行为的类多加小心。p31这个问题的另一表现是在你的应用程序中的类的公有接口中创建了很多的get和 set函数。(16)在由同用户界面交互的面向对象模型构成的应用程序中,模型不应该依赖于界面,界面则应当依赖于模型。p33(17)尽可能地按照现实世界建模(我们常常为了遵守系统功能分布原则、避免全能类原则以及集中放置相关数据和行为的原则而违背这条原则)。p36(18)从你的设计中去除不需要的类。p38一般来说,我们会把这个类降级成一个属性。(19)去除系统外的类。p39系统外的类的特点是,抽象地看它们只往系统领域发送消息但并不接受系统领域内其他类发出的消息。(20)不要把操作变成类。质疑任何名字是动词或者派生自动词的类,特别是只有一个有意义行为的类。考虑一下那个有意义的行为是否应当迁移到已经存在或者尚未发现的某个类中。p40(21)我们在创建应用程序的分析模型忖常常引入代理类。在设计阶段,我们常会发现很多代理没有用的,应当去除。p43(22)尽量减少类的协作者的数量。p52一个类用到的其他类的数目应当尽量少。(23)尽量减少类和协作者之间传递的消息的数量。p55(24)尽量减少类和协作者之间的协作量,也即:减少类和协作者之间传递的不同消息的数量。p55(
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索

当前位置:首页 > 大杂烩/其它


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号