ImageVerifierCode 换一换
格式:DOCX , 页数:59 ,大小:78.50KB ,
资源ID:15880783      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15880783.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JAVA面试问题总结Word格式文档下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

JAVA面试问题总结Word格式文档下载.docx

1、(5) 文档材料是系统开发生命周期中重要的可递交成果,应加以重视。1.1.2 简述系统分析的步骤,并说明系统分析应提交的成果系统分析的步骤如下:(1) 系统计划:寻求可以对事务产生更大利益的同等或更优的技术和事务应用。(2) 可行性研究(可选):从技术、操作和经济等各方面综合考虑,确定开发一个信息系统的优点,并分析其目标、客观情况和限制条件,确定该项目是否可行。有时,若项目是由于内部或外部的因素而带有强制的性质时,该步骤可以省略。(3) 需求分析:由系统分析员和客户一起确定信息系统的需求并进行归档。(4) 客户接受:客户对需求文档的正式或非正式批准。(5) 原型设计(可选):为了更好地理解客户

2、的要求或增加客户接受预期系统的可能性而开发的信息系统原型。系统分析阶段完成后应该提交需求指定文档和系统原型(可选)。1.1.3 试描述系统设计的主要阶段和步骤,并说明各步骤的主要工作。步骤如下:(1) 将系统分层分割,细化成一系列子系统。(2) 标识问题的一致性特征。(3) 给子系统分配处理程序和任务。(4) 根据数据结构、文件和数据库,为实现数据存储选择基本策略。(5) 标识全局资源和确定控制访问这些资源的机制。(6) 选择实现软件控制方法: 保持状态的程序内使用分配方法。 直接地实现状态机制。 使用一致性任务(7) 考虑边界条件(8) 建立交替使用的优先权。1.1.4 面向对象系统分析和设

3、计的文档可以分为哪两大类?它们分别由哪些部分组成面向对象系统分析和设计的文档有面向客户的和面向软件设计者的两种。的文档涉及系统功能,包括三视图模型、用户场景和事件响应模型。的文档涉及系统的结构,包括完整的五层OOA模型。2 J2SE基础知识相关的2.1 Java面向对象知识2.1.1 程序结构的概念所谓程序结构是指程序设计方法,就是指通常人们所说的“结构化编程”、“面向对象编程”等等。通常,最常见的程序结构包括:非结构化程序 结构化程序 面向对象程序,当然,还有很多程序结构如“面向组件”程序和“面向方面”程序等,“面向组件”与“面向方面”是“面向对象”的扩展与延续。2.1.2 结构化程序设计的

4、概念“面向过程”的一种程序设计方法。它是通过自顶向下,逐步求精,模块化的方法来实现程序功能的编程方法。用这种方法编程,优点很多,可使程序易读、易写、易调试、易维护、易保证其正确性及验证其正确性。然而,结构化程序设计并不能完全解决软件危机,人们仍然渴望生产效率更高、更可靠、易维护、易管理的开发思想和开发方法。结构化程序设计方法的四条原则是:1. 自顶向下;2. 逐步求精;3.模块化;4.限制使用goto语句。2.1.3 面向对象程序设计的概念面向对象程序设计,是一种充分利用抽象,封装等方法将现实世界要解决的问题抽象成为一个对象,从而模拟客观世界的一种程序设计方法。是一种以对象为中心的思维方式。对

5、象之间通过消息相互作用。过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。面向对象设计程序,主要就是设计抽象的类。其主要相关概念有:对象、类、封装、继承、多态性、消息、关联。所有面向对象编程语言都支持三个概念:封装、多态性和继承。2.1.4 面向方面编程(AOP)概念AOP是实现调用者与被调用者之间的解耦,体现“分散关注”思想的编程方法,它将“关注”封装在“方面”中。AOP实际是GoF设计模式的延续。分散关注是将通用需求功能从不相关类之中分离出来;同时,能够使得很多类共享一个行为,一旦行为发生变化,不必修改很多类,只要修改这个行为就可以。从J2EE系统划分为J2EE容器

6、和J2EE应用系统两个方面,我们已经看到一种分散关注的思路2.1.5 面向服务架构(SOA)概念SOA是抽象、松散耦合和粗粒度的软件架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是 SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。SOA!=Web Services,Web Services只是SOA的一种技术实现方式,并不足以构成SOA的全部,通过JMS、JDBC、.NET Remoting、IIOP乃至CORBA和TCP/IP都可以成为SOA的技术实现架构,而且也有厂商在私有协议上实现了SOA的模型。2.1.6 面向对

7、象和面向过程的区别面向过程,站在计算机的角度进行程序设计,一步步指明执行步骤的程序设计方法;面向对象,站在符合人的思维习惯的角度进行程序设计,将属性与执行操作封装于对象之中。如:用计算机模拟一只猫捉老鼠的过程,程序员必须告诉计算机每一步猫的具体的动作。如果用面向对象的程序设计方法来做,就可以把猫作为一个独立的对象,猫会奔跑,猫会捉老鼠,这些是它的固有属性,被封装在猫这个对象之中,所以,只需给出老鼠出现的信息,猫就会自动去捉。面向过程高度耦合、高效率,通常是针对一个具体的应用实现,因此无法适应快速业务变化,不适合做大型面向客户应用的开发。面向对象方法高内聚、低耦合,重用性高,更适应于解决当今的庞

8、大、复杂和易变的系统模型。2.1.7 理解封装是面向对象具有的一个基本特性,其目的是有效实现信息隐藏原则。这是软件设计模块化、软件复用和软件维护的一个基础。封装是一种机制,它将某些代码和数据链接起来,形成一个自包含的黑盒子(即产生一个对象)。在强调对象的封装性时,也必须允许对象有不同程度的可见性,可见性是指对象的属性和服务允许对象外部存取和引用的程度。封装主要依靠对类、数据和方法的访问控制,从语法上讲就是加上private、protected、public等关键词,如果没有关键词修饰则默认为package。2.1.8 理解继承继承表达了对象的一般与特殊的关系。特殊类的对象具有一般类的全部属性和

9、服务。继承具有传递性。继承性允许程序设计人员在设计新类时,只须考虑与已有的父类所不同的特性部分,而继承父类的内容为自己的组成部分。如果父类中某些行为不适用于子类,则程序设计人员可在子类中重写方法的实现。因此,继承机制不仅除去基于层次联系的类的共性的重复说明,提高代码复用率,而且能使开发者大部分精力用于系统中新的或特殊的部分设计,便于软件的演进和增量式扩充。就继承风格而言,具有多样性,除上述的单继承、多继承、多代继承外,还有全部继承、部分继承等等。一般的面向对象系统,在不同程度上支持如下四种类型的继承:1. 替代继承,如果我们能够对类T的对象比类E的对象实施更多的操作,就说类T继承类E,即在类E

10、的对象处,能够用类T的对象来替代。这种继承是基于方法而非值。例如,一个徒弟从师傅那里学到了师傅的全部技术,那么在任何需要师傅的地方,都可以由该徒弟来替代。2. 包含继承,如果类T的每个对象也是类E的对象,则说类T是类E的子对象。这种继承是基于结构而非操作。例如,苹果类的对象(如“红富士”、“红香蕉”、“青香蕉”、“国光”.)都是水果类的一些特殊对象,苹果继承了水果的特征,而且包含了水果的所有特征,这便是包含继承。3. 限制继承,如果类E包括满足某种已知限定条件的类T的所有对象,则类T是类E的一个子类。这是包含继承的特殊情形。例如,少年是人的子类,但是他们服从更特殊的限制条件,即要求年龄限于13

11、到19之间;又如,鸵鸟是一类特殊的鸟,它们不能继承鸟类的会飞的特征,是受限制继承。4. 特化继承,如果类E的对象是类T的对象,而T带有更多特殊信息,则类T是类E的子类。例如人和学者,其中学者的信息是人的信息再加上某些属性。2.1.9 理解多态多态性原意是指一种具有多种形态的事物,这里是指同一消息为不同的对象所接受时,可导致不同的行为。多态性支持“同一接口,多种方法”,使高层代码(算法)只写一次而在低层可多次复用,面向对象的多种多态性方法的使用,如动态绑定(dynamic binding)、重载(overload)等,提高了程序设计的灵活性和效率。多态性提供了把接口与实现分开的另外一个方面。多态

12、性提高了代码的组织性和可读性,更重要的是它使软件的可扩充性有了充分的提高。在某些程序设计语言中,多态性指相同的语言结构可以代表不同类型的实体(例如,在Prolog、Parllog一类语言中,同一个变量可以匹配各种类型的语法结构)或者对不同类型的实体进行操作(例如,在Lisp、Schema一类语言中,同一个函数可以对不同结构的表进行操作)。在强类型语言中,多态表现为重载(overloading)和类属(genericity),又称为参数化多态(parameterized polymorphism)。在面向对象的概念中,多态性则是指,不同对象收到相同消息时,根据对象类不同产生不同动作。C+允许程序

13、员发送相同消息到不同的相关对象,而由对象决定如何完成该动作,并且支持软件选择实现决策的时间。其中,运行时的多态是面向对象的程序设计语言所独有的,有人还认为,只有与动态联编相结合的多态才是真正的面向对象的多态。关于前期绑定(函数绑定)与后期绑定(动态绑定)概念:函数绑定(function call binding)将函数调用与函数体连接起来叫做绑定。如果绑定在程序运行之前进行(由编译器和连接器执行),则称为预绑定(early binding),也叫静态联编。可能你从没听说过这个名词,因为在过程设计语言里,绑定并非是你可以选择的。预绑定意味着绑定基于的信息都是静态的,是编译和连接时就可以确定的。而

14、面向对象的多态性设计要求能够在运行时,根据对象类型的不同来选择合适的函数调用,这些类型信息在编译时是不可知的。解决这一问题的方法是后期绑定(late binding)。运行时的多态性是在程序运行时发生的事件,编译器在编译时未确定要调用的函数,必须根据程序运行所产生的信息来通知用调用哪一个函数。这被称为后绑定(late binding),是动态联编方式。关于重载概念:如果函数的参数类型完全一致,仅仅是返回类型不同,则编译器认为出错。这个处理有两个原因:1)当函数的返回值不赋给某一个变量时,系统无法判断应调用哪一个函数;2)即使当函数返回值赋给一个变量时,系统也无法判断这一赋值是否进行了类型转换。函数重载提供了便利,但何时重载函数名收益最大却始终是一个问题。当一组函数并不执行相似的操作时,就不应该采用函数重载。即使一组函数执行相似的操作,也要慎重考虑,是否有其他更好的处理方法。程序员在编写程序时不应着眼于语言的特征,而应重点解决实际的问题。在使用语言的特性时,应遵循应用程序的逻辑结构,绝对不可因为语言拥有某一特性而仅仅为了使用它,在不顾实际需求的情况下滥用。2.1.10 消息传递与过程调用关于消息传递

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1