山东大学威海 JAVA复习答案 姜海宁.docx

上传人:叶*** 文档编号:34925078 上传时间:2022-08-19 格式:DOCX 页数:10 大小:35.02KB
返回 下载 相关 举报
山东大学威海 JAVA复习答案 姜海宁.docx_第1页
第1页 / 共10页
山东大学威海 JAVA复习答案 姜海宁.docx_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《山东大学威海 JAVA复习答案 姜海宁.docx》由会员分享,可在线阅读,更多相关《山东大学威海 JAVA复习答案 姜海宁.docx(10页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第一章1 简述JAVA三个平台的用途J2MEJAVA ME, 嵌入式平台,主要用于功能手机。J2SEJAVA SE,标准平台,主要用于桌面程序。J2EEJAVA EE,企业级web应用平台。2 简述JAVA程序的编译过程1源代码编译、链接库文件可在JAVA虚拟机上运行的“中间代码(JAVA字节码)2 JAVA虚拟机将JAVA字节码转换成可运行的本机代码。这种转换有二种方式:第一种是系统默认的解释型转换,JAVA虚拟机一面读字节码一面将其转换为本机代码。第二种是可选的编译型转换,JAVA虚拟机将字节码一次性转换为本机代码。3 什么是JAVA虚拟机JAVA虚拟机是一个程序,它运行在操作系统之上,其

2、主要任务是屏蔽不同机器操作系统和CPU指令的不同,为JAVA字节码提供统一的运行环境。4 JAVA虚拟机有什么作用JAVA虚拟机使JAVA程序具备了跨平台(平台无关性)的重要特性,在一个平台上编译好的JAVA字节码,在有一样功能的JAVA虚拟机的另一个平台上可以直接运行,这种技术是借助于JAVA虚拟机和字节码完成的。JAVA程序的跨平台特性使之特别适合在复杂的、异构的网络环境中使用。5 跨平台程序和可移植程序的区别是什么?跨平台程序在某个平台上编译后,在另一个平台上直接可以运行(JAVA要求有一样虚拟机),不需重新编译。可移植程序在某个平台编译后生本钱机代码,在另一个平台上不能运行,因为操作系

3、统(或CPU指令系统)不同,只有重新编译才能运行。6 JDK安装完成后,安装位置出现以下几个文件夹内容是什么?文件夹名称用途binJAVA编译器、解释器等JAVA 核心API的源代码Demo教你如何使用JAVA API的样例程序libJAVA类库jreJAVA运行时环境include一些C语言头文件,支持JAVA和C语言混合编程7 JAVA源程序文件名后缀是什么?字节码文件名后缀是什么二、网络调研题1 查询JAVA三个平台及Android平台的用途,了解JAVA的应用。2 上网学习eclipse或NetBean的使用。第二章1 程序的注释应该写什么内容?注释要说明的是被注释的代码是做什么的,而

4、不是怎么做。做什么由注释说明,怎么做由代码说明。2 强类型编程语言有什么优点?编译时所有对象类型除多态对象外均确定,因此在内存的位置也确定,这可以简化编译器的设计、提高效率、节约资源。帮助程序员检查一些类型的不匹配引起的错误,消除潜在的危险。对数据类型检查较完善,适合可靠性要求高的应用。3 理解数组的引用特性数组是一种引用类型的数据类型,全部存放在内存的堆中。数组名代表数组在内存中的首地址。JAVA的数组本质上是一个类。4 理解JAVA“简单数据类型的转换规那么简单数据类型由低级到高级分别为:(byte,short,char)-int-long-float-double当从低级到高级转换时叫“

5、赋值相容,这种转换是隐式的,不需要特别处理。对于平级和高级到低级的转换,是“赋值不相容,这种转换是显式的,被转换的数据前面必需加一个 “(类型)运算符。5 通过例如代码理解JAVA“简单数据类型强制转换时潜在的危险。public class Convert public static void main(String args) double x=99; int i=(int)x; byte b=(byte)i; System.out.println(b); 运行结果是:99。把x改为99999,运行结果是: -97。因为b的类型是byte,只占1字节,数据表示范围是-128127,当遇到99

6、999时,b溢出了,变成一个莫名其妙的-97。6 JAVA语言自动内存管理的原理和优点是什么JAVA语言引用类型的数据都放在堆中,由JAVA的“垃圾自动回收机制管理,当某对象长时间不使用,JAVA会按某种算法自动回收该对象占有的堆内存,使堆不容易溢出,程序员无需为堆内存的分配、释放操心。7 new操作符确实切含义是什么?new操作符的含义为:为对象在堆中分配内存。第四章1 什么是类?什么是对象?类是对客观世界具有一样特征的一类对象的抽象,是一类问题的解决方案,是一种聚合的、抽象的数据类型,是一种抽象概念。对象是客观的世界的一个具体事物,是具体的概念,是对“一类问题下的某个具体问题的解决方案。2

7、 对象和类的关系类是用户自定义的类型,而对象是类的变量,表示这一类事物下面一个具体事物。将类的属性集赋不同的值,可以得到不同的对象,解决不同的具体问题。也可以认为,类是对象的模板,从类中可以“复制出对象。3 new操作符和构造方法各自的作用?new表示给对象在堆中分配内存。构造方法用于给对象初始化比方,为属性赋初值,通常是给对象的属性集赋初值,从而产生某个具体的对象。4 构造方法有什么作用?析构方法有什么作用?构造方法的功能主要是为对象初始化,通常是给对象的属性集赋初值,从而产生某个具体的对象。调用析构方法可以销毁对象,使之不占用内存。5 程序员是否可以不写构造方法?为什么程序员可以不写构造方

8、法,系统会给类默认一个构造方法,该构造方法是无参的。默认构造方法可以给类的属性默认值。6 程序员是否可以不写析构方法?为什么可以。如果程序员不写析构方法,系统自动默认一个析构方法,在大多数类中,都不需要写析构方法。多数情况下,析构方法由JAVA的垃圾自动回收机制自动调用。7 理解对象的引用特性。对象存放在堆中,对象的名字代表对象在内存中的首地址。8 static修饰类的属性和方法,各有什么特点?用static修饰的属性叫“静态属性。访问static属性不需要预先实例化对象。从类中实例化的多个对象共享使用该静态属性的值和其占用的内存。用static修饰的方法叫“静态方法。访问static方法不需

9、要预先实例化对象。9 为什么说“static方法体内包括main( )方法体内不能调用非static方法和属性?因为static可以不经实例化对象,直接用 ( ) 调用,而非static属性和方法那么必须先实例化对象才能调用,两者产生矛盾。10为什么main()方法是static的?程序从main()方法启动时,还没有实例化任何对象,main( )方法只能是static的不需要对象即可调用,然后在main()方法内执行一些实例化对象的操作。编程题1 上机实验配套的“课件例题提供的关于本章内容的综合性样例程序,并对这些程序做适当改动,观察运行效果。2 写一个Student类,描述Student的

10、属性、方法、构造方法,然后实例化Student类,调用这些属性和方法。网络调研题1 由于篇幅等原因,本章提供的例题过少,知识点的讲解也不够详尽,请同学们上网找一些适合JAVA编程新手学习的资料,进展补充性阅读。第五章1 包的逻辑含义是什么?物理含义是什么?package意为“包,包的逻辑含义是“名称空间,物理含义是文件夹。2 import有什么作用?当一个包中的类试图使用另一个包中的类时,必须要使用全名称空间。使用import在程序的开场处事先导入包,那么使用另一个包中的类时可省略全名称空间。3 属性方法有什么好处?属性的真正名字被隐藏,用户只能通过属性方法的名字来间接访问属性,有利于平安。当

11、用户通过属性方法间接设置属性时,可以纠正不正常的属性值。属性方法可以把一个private属性改造成外部对象对其不能读写、只读、只写、可读写。4 把一个private属性改造成外部对象对其只能读,应该怎么做?如果一个private属性只有相应的get属性方法,那么只读。5 方法重载的语义是什么?方法的重载是重要的封装技术,它使用户误以为只有一个方法,简化用户对类的理解,方便使用。同时它又是类的多态性的表达,它可以使方法名所代表的概念有不同的实现方式。方法的重载是编程务实中常用和重要的技术。6 了解this的用法this指代“当前对象,语法形式为: this.对象的属性; this.对象的方法;t

12、his常用于重载的构造方法内部,意为“调用本类已定义的构造方法。当方法内部的代码中出现了属性及方法的局部变量重名现象,用this区分属性及局部变量。编程题1 上机练习本章例题2 写一个“手机类,列出其常见属性、方法,并用属性方法、重载方法等技术对其封装 第六章1 继承的作用是什么?继承是在一个已有的类的根底上创立新类的机制,使软件模块在原有的根底上实现“可持续性开展。继承使子类拥有父类的属性和方法,并且增加了子类特有的属性和方法,甚至可以修改覆盖从父类继承来的属性方法。2 子类是否继承了父类private成员?为什么无论何种情况,子类都不能继承private的成员变量和方法,因为父类要有“隐私

13、权。但是从子类对象的内部构造过程上看,这些private成员又存在于子类对象的空间中,只是子类对象不能直接访问它们。3 在什么情况下,子类需要覆盖父类的属性或方法?当子类认为父类的属性和方法对自己不适用时,需要覆盖父类的属性和方法。修改父类是不适宜的,因为不满足开闭原那么。子类用一样的属性名重新定义从父类继承来的属性,用一样的方法名及一样的方法参数重新定义从父类继承来的方法,重新定义的属性和方法只对子类对象有效,而对父类对象无效,这样就满足了“开闭原那么。4 super有哪2种用法?当子类重写了父类的属性或方法,用( ) 或 super.属性名,调用父类继承版的属性或方法。在子类构造方法中,用

14、 super(参数)指代父类构造方法。5 子类对象实例化调用构造方法的顺序是什么?子类对象调用父类同名属性或方法的顺序是什么子类对象实例化时,按继承链从高到低的顺序调用构造方法。子类对象对父类同名属性或方法的调用,那么是按继承链从低到高的顺序调用。编程题1 编写一个“手机类,然后再分别写一个“功能手机类和“智能手机类继承“手机类,要求尽可能多的用到本章所讲的知识点。第七章1 抽象类和接口语义上最主要的一样和不同点是什么(P88)一样之处:都用于表示抽象的设计概念,而将具体的实现留给子类。接口和抽象类表达了软件设计及实现的别离、系统不易变化的局部设计概念和易变化的局部具体实现的别离。不同之处:从

15、设计概念来说抽象类和子类应该是“子类in a kind of抽象类“,并且实现了抽象类的关系,而接口和子类那么不必如此,接口和子类仅仅是“实现关系即可。接口比抽象类更常用。抽象类不允许多重继承,而接口允许多继承。2 final修饰属性、方法、类,各自的效果是什么?final修饰类的属性,表示一个常量 。final修饰类的方法,表示该方法不能被子类覆盖重写。final修饰类,表示该类是最终类,不能被子类继承。第八章1 什么是多态?所谓多态Polymorphism,字面意思就是“多种形态。面向对象将其解释为“一个抽象概念,多种具体实现。也可以将其理解为:一种约定,多种不同实现;一个目标,多种不同实

16、现等等。2 编译时多态主要有哪2种?基于方法重载overload的多态基于属性和方法覆盖override的多态3“子类对象即是父类对象在判读方法返回类型和参数类型上有什么用?因为子类是父类的一类,具有“子类对象即是父类对象的性质,使返回类型和参数类型可以为其子类。子类对象赋值给父类对象赋值相容,无需强制转换。 比方A,B,C都是F的子类,以下方法: F fun(F f) ,合法的返回类型和实参类型是什么? 答:A,B,C和F的对象都是合法的返回类型和实参类型,因为子类对象即是父类对象。4 从语法上说明“子类对象即是父类对象在运行时多态的作用。运行时多态是指,程序在编译时无法确定要调用哪个对象,

17、需要在运行时确定。这种多态多发生在子类和抽象的父类之间。实例化对象时使用了“子类对象即是父类对象,调用子类构造方法返回父类对象。5 从语义上说明“子类对象即是父类对象在运行时多态的作用。可以只暴露抽象类,隐藏子类。用户无需知道子类的位置,完全面向对象。由于子类对象既是父类对象,父类对象及子类对象之间具有赋值相容性,父类对象能够被赋值为子类对象。把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。赋值之后,父类型的引用就可以根据当前赋值给它的子对象的特性以不同的方式运作。编程题1【例8-1】是用“抽象类子类写的,请将其改写为“接口

18、子类第一章1 API、SDK、JDK、IDE对应的中文名称分别是什么?APIApplication Programming Interface,应用程序编程接口SDKSoftware Development Kit,软件开发工具包JDKJava Development Kit,JAVA开发工具包IDEIntegrated Development Environment,集成开发环境,2 什么是软件平台?所谓软件平台,是没有严格定义的概念,平台是一种较根底的、有一定通用性的根底软件,为各种各样的应用程序提供支持环境。比方说,Windows就是一种平台,在上面可以运行各种各样的桌面或网页程序。一般

19、有软件根底架构平台和专用平台。3 JAVA API特指什么?泛指什么?JAVA API特指JAVA平台中的类库局部,泛指JAVA平台全部内部内容。4 J2SE平台主要包括哪些内容?主要有哪些包,这些包各自主要的用途是什么?J2SE平台封装了上千个可重复使用的类包括抽象类和接口,这些是JAVA最根底的类库,它们封装了编程中重要和常用的功能、算法。1这个包包含了一些形成语言核心的类。2这个包主要包括实用程序类和集合框架类。 3这个包提供了创立Java applet的途径,。4和java.swing是由许多组成Java的抽象视窗工具awt的类所组成的包,它提供了基于类的图形用户界面GUI,主要为桌面

20、应用程序编程提供视窗、按钮、对话框及其他控件。是根底的GUI包,当功能有限,而java.swing是建立在awt根底上的功能较强的GUI包。5这个包提供了网络、套接字处理器和Internet实用工具类。6这个包中的类提供了输入输出效劳,用于读出和写入文件数据,访问键盘输入和打印输出。6这个包提供了对关系数据库和SQL编程的支持。主要是通过JDBCJAVA数据库连接接口实现JAVA程序及SQL的交互。5 JAVA DOC的用途是什么要学会使用包中的类,最权威的文档是JAVA SE DOC,JAVA DOC是JAVA API的“使用说明书。第二章1 Object是个什么类?Object类Java最

21、顶层的类,JAVA API中所有的类,以及用户自己写的类都是该类的直接或间接子类,如果一个类在声明时没有extends其它类,那么它默认extends Object。2 Object的equals方法为什么经常被子类重写?toString方法为什么经常被子类重写?Object的用法是:“两个对象的引用相等才相等。有时程序员认为“两个对象的属性相等也可以认为是相等,这就需要重写Object.equals()。toString方法得到一个能代表该对象的字符串。重写toString方法,让该方法一一输出对象的属性值,通常的做法是将对象的属性名和属性值成对的输出。3 Math类的多数方法是static

22、的,这意味着什么?为了使用方便,该类中的属性和方法都是static的,调用它们可以直接使用: 或 类名.属性名,不需要先创立对象。4 JAVA的根本类型为什么要有包装类?为了使JAVA完全面向对象,满足一些特殊情况比方集合对象下编程的需要。根本类型的“对象,只有一个值,没有属性和方法,因此不是真正的对象。而它对应的包装类对象,不仅有值,而且有属性和方法,是真正的对象。5有2种方式实例化String对象String str = abc; String str = new String(“abc);这2种方式的效果有什么区别?String类有一个“字符串常量池,该池存放了以前创立过的不一样的字符串

23、,第一种方法会在字符常量池中查找是否由匹配的字符串,如果有匹配,那么将新字符串对象指向该字符串;如果没有匹配,那么在池中创立一个新字符串。但是当使用new操作符实例化字符串不使用常量池,其性质及用new实例化一般对象一样。6 当使用new操作符实例化字符串:s1=new String(“we are students) ;s2=new String(“we are students);s1和s2的引用不相等(s1=s2返回false).但是s1.equals(s2)却返回true,这是为什么?原因是使用new操作符实例化的字符串不使用常量池,new实例化出新的对象,因而引用不同。第三章因为JA

24、VA的异常处理机制及C+、MS C#、甚至SQL等语言非常相似,学习它有举一反三的效果,况且异常处理是编程务实中很重要、不能回避的问题,所以对本章的学习要求高一些,要求熟读本章例题,能够结合程序“动态掌握异常处理的语法和语义。期末考试不会要求你自己写异常处理程序,但会给出一个及本章例题相似的异常处理程序,要求你写出其运行结果,并解释该程序的语法和语义。第四章通过阅读本章例题强化对类的继承、组成、接口及实现等重要的语法问题的理解,组件和事件的概念,了解GUI编程的大致步骤,包括:窗口类的继承、组件类及对象、构造方法的作用注册事件,事件处理方法原型及事件监听器接口的关系,事件处理方法体应该怎么写。

25、了解委托、观察者、分布订阅等重要的设计模式可以上网查下资料代表答案可选,有颜色的题号代表答案不确定TIPS:01 JAVA源程序文件只能有一个public class,类名及文件名一样。02 JAVA是强类型语言,有根本数据类型和引用类型。默认值0,0.0,null,fulse03 浮点数默认double类型,float要加f。04 引用类型数据的名字代表内存首地址,根本类型数型的名字代表值。05 常量用final修饰,不能重新赋值。06 JAVA只有局部数组没有全局数组,都存放在堆中。07 JAVA本身不支持字符串,通过String类支持。08 JAVA的变量常量和方法等都在类里面。09 方

26、法形参可以是引用类型。10 构造方法没有返回值,名字及类名一样。11 static静态类共享值12 名称空间中写类要用package声明,package sd.wh.ie,default包无需声明。13 属性尽可能private,用get,set暴露数值。14 方法重载不看返回值类型,构造方法可以重载,析构方法不能重载。15 static方法内不能用this,this指对象。P7116 继承class A extends B多级继承,单继承实例化后子类是子类,父类是父类copy,父类子类数据共存构造方法不能继承。17 子类实例化必须调用父类构造方法在子类空间中初始化从父类继承来的成员,但不生成

27、父类对象。18 即使子类覆盖父类的属性和方法,子类空间中仍有父类版本的属性和方法。19 super指向直接父类。20 抽象类abstract class A 可有抽象和非抽象方法只有原型没有实现,子类实现全部抽象方法不能new实例化抽象方法只能写在抽象类中。21 接口interface I ,class C implements I 只有抽象方法和常量子类继承接口实现其全部方法。22 (a1);省略了a1.toString( )。23 包装类堆中new初始值null。24 string类中的equals比拟的是值。25 trycatchException efinally,finally必执行,一有异常就跳转,后面的语句不执行。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com