




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java 复习大纲2010/10/26 一.题型结构及分值1. 选择题 (15*2)2. 判断题 (10*1)3. 阅读程序题 (3*5+2*10)4. 程序设计题 (1*5+2*10)二.考试范围Java教材的第1章 到 第8章,包括: Java语言的基本特点,以及Java虚拟机。 Java基本语法(数据类型,运算符,控制语句) Java面向对象编程,包括多态、访问和非访问修饰符、抽象类、接口和包,会使用它们进行编程。 Java I/O编程,会使用这些I/O类,包括:System I/O类,FileInputStream/FileOutputStream类,FileReader/FileWriter类, File类。 Java异常处理,会使用try-catch-finally语句块捕获常见的异常。如,算术异常(ArithmeticException), 数组下标越界异常(ArrayIndexOutOfBoundsException), 文件未找到异常(FileNotFound), I/O异常(IOException), 中断异常(InterruptedException), SQL异常(SQLException), 以及顶级异常(Exception)。三. 例题(1)编程概念题2. publicclassSomething voiddoSomething()privateStrings=;intl=s.length(); 有错吗? 答案:错。局部变量前不能放置任何访问修饰符(private,public,和protected)。final可以用来修饰局部变量(final如同abstract和strictfp,都是非访问修饰符,strictfp只能修饰class和method而非variable)。3. abstractclassSomethingprivateabstractStringdoSomething(); 这好像没什么错吧? 答案:错。abstract的methods不能以private修饰。abstract的methods就是让子类implement(实现)具体细节的,怎么可以用private把abstractmethod封锁起来呢?(同理,abstractmethod前不能加final)。4. publicclassSomethingpublicintaddOne(finalintx)return+x;有错吗?5. classSomethingfinalinti;publicvoiddoSomething()System.out.println(“i=”+i); 错了吗? 答案:错。finalinti是个final的instancevariable(实例变量,或叫成员变量)。final的instancevariable没有defaultvalue,必须在constructor(构造器)结束之前被赋予一个明确的值。可以修改为finalinti=0;。6. publicclassSomethingpublicstaticvoidmain(Stringargs)Somethings=newSomething();System.out.println(“return ”+doSomething();publicStringdoSomething()return“Dosomething.”; 看上去很完美? 答案:错。看上去在main里调用doSomething没有什么问题,毕竟两个methods都在同一个class里。但仔细看,main是static的。staticmethod不能直接callnon-staticmethods。可改成“System.out.println(”return“+s.doSomething();”。同理,staticmethod不能直接访问non-staticinstantcevariable。7. 如果Something类的文件名叫OtherThing.javaclassSomethingprivatestaticvoidmain(Stringthings) System.out.println(“Dosomething.”);在源文件命名上有问题吗? 答案:正确。一般不要求Java的Class名字必须和其文件名相同,一个例外就是publicclass的名字必须和文件名相同。8. interfaceAintx=0;classBintx=1;classCextendsBimplementsApublicvoidpX()System.out.println(x);publicstaticvoidmain(Stringargs)newC().pX();程序能正常运行吗? 答案:错误。在编译时会发生错误(错误描述不同的JVM有不同的信息,意思就是未明确的x调用,两个x都匹配。对于父类的变量,可以用super.x来明确,而接口的属性默认隐含为publicstaticfinal,所以可以通过A.x来明确。9. interfacePlayablevoidplay(); interfaceBounceablevoidplay(); interfaceRollableextendsPlayable,BounceableBallball=newBall(PingPang); classBallimplementsRollableprivateStringname;publicStringgetName()returnname;publicBall(Stringname)=name;publicvoidplay()ball=newBall(“Football”);System.out.println(ball.getName(); 上述代码有问题吗? 答案:错。 问题出在interfaceRollable里的语句:Ballball=newBall(“PingPang”); 实际上,该变量ball默认为publicstaticfinal修饰。 但是,在Ball类的Play()方法中,语句ball=newBall(Football); 改变了ball的引用,这与final类型的object是不能被改变引用相冲突!因此编译器将在ball=newBall(”Football“); 显示有错。10.继承时候类的执行顺序,问将会输出什么?package test; /父类 public class FatherClass public FatherClass() System.out.println(FatherClass Create); package test; /子类 import test.FatherClass;public class ChildClass extends FatherClass public ChildClass() System.out.println(ChildClass Create);public static void main(String args) FatherClass fc = new FatherClass();ChildClass cc = new ChildClass(); 输出结果:FatherClass CreateFatherClass CreateChildClass Create (2)基础概念题11. 在java中,语句: int score3 =2,3,4;正确吗? 12. java语句: String p1=“This is a string”; String p2=“This is a string”;可以用语句: if(p1=p2) 判断两个字符串的内容相等吗?13. java线程有哪几种状态?14. FileInputStream类可以用来处理字符数据吗?15. IOException异常一定要捕获吗?16. Applet类需要编写main方法吗?17.作用域public,private,protected,以及default时的区别。答:区别如下:作用域当前类同一包 不同包的子类不同包的非子类public protected default private 不写时默认为default。18. &和&的区别答:就运算符“&”而言,要看参与该运算的变量的类型来决定是位运算还是逻辑全与运算! 当变量是逻辑类型时,执行逻辑全与运算符,否则执行位与运算;运算符“&”是逻辑短路与运算符。19. 语句 short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 答:shorts1=1;s1=s1+1;(s1+1运算结果是int型,需要强制转换类型)shorts1=1;s1+=1;(可以正确编译)20. Overload和Override的区别。Overload方法是否可以改变返回值的类型? 答:方法的重写Override和重载Overload是Java多态性的不同表现。重写Override是父类与子类之间多态性的一种表现,重载Overload是一个类中多态性的一种表现。 如果在子类中定义某方法与其父类有相同的名称和参数(包括返回值),就说该方法被重写(Override)。子类的对象使用这个方法时,将调用子类中的定义。 如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overload)。Overload方法是可以改变返回值的类型。21. abstract class和interface有什么区别? 答: 声明方法的存在而不去实现它的类被叫做抽象类(abstractclass),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。 不能创建abstract类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类。 接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。 接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义staticfinal成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即由程序体给出)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态绑定将生效。22. abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?答:都不能。 23. try 里有一个return语句,那么紧跟在这个try后的finally 里的code会不会被执行?什么时候被执行?在return前还是后?24. char型变量中能不能存储一个中文汉字?为什么?答:是能够定义成为一个中文的,因为java中以unicode编码,一个char占2个字节,所以放一个中文是没问题的。25. float型float f=3.4是否正确?答:不正确。精度不准确,应该用强制类型转换,如下所示: float f=(float)3.4;或者 float f= 3.4f; 26. STRING与STRINGBUFFER的区别 答:STRING的长度是不可变的,STRINGBUFFER的长度是可变的。如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法。27. String是最基本的数据类型吗?答:基本数据类型包括byte、int、char、long、float、double、boolean和short。而java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类。28. int和Integer有什么区别答:Java提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。原始类型封装类, boolean- Boolean,char- Character,byte- Byte,short- Short,int- Integer,long- Long,float- Float,double- Double。29. java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?答:字节流,字符流。字节流继承于InputStream、OutputStream,字符流继承于Reader、Writer。在java.io包中还有许多其他的流,主要是为了提高性能和使用方便。30. 是否可以从一个static方法内部直接发出对非static方法的调用?答:不可以。如果其中包含对象的method(),不能保证对象初始化。31. 说出一些常用的类、包,请各列举5个。答:常用的类:BufferedReaderBufferedWriterFileReaderFileWirterStringInteger常用的包:java.langjava.awtjava.iojava.util java.sql 当一个重载方法被调用时,Java 用参数的类型和(或)数量来表明实际调用的重载方法的版本。因此,每个重载方法的参数的类型和(或)数量必须是不同的。虽然每个重载方法可以有不同的返回类型,但返回类型并不足以区分所使用的是哪个方法。当Java 调用一个重载方法时,参数与调用参数匹配的方法被执行。 编辑本段|回到顶部例子说明与解析 编辑本段|回到顶部构造函数重载 【介绍定义】 在Java 中,同一个类中的2个或2个以上的方法可以有同一个名字,只要它们的参数声明不同即可。在这种情况下,该方法就被称为重载(overloaded ),这个过程称为方法重载(method overloading )。方法重载是Java 实现多态性的一种方式。如果你以前从来没有使用过一种允许方法重载的语言,这个概念最初可能有点奇怪。但是你将看到,方法重载是Java 最激动人心和最有用的特性之一。 【参数类型说明】 当一个重载方法被调用时,Java 用参数的类型和(或)数量来表明实际调用的重载方法的版本。因此,每个重载方法的参数的类型和(或)数量必须是不同的。虽然每个重载方法可以有不同的返回类型,但返回类型并不足以区分所使用的是哪个方法。当Java 调用一个重载方法时,参数与调用参数匹配的方法被执行。 【例子说明及解析】 下面是一个说明方法重载的简单例子: / Demonstrate method overloading.class OverloadDemo void test() System.out.println(No parameters); / Overload test for one integer parameter. void test(int a) System.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乙烯装置操作工适应性考核试卷及答案
- 化工热交换工基础知识考核试卷及答案
- 广播电视机线员职业考核试卷及答案
- PLC控制系统设计应用实例分析
- 汽车机械维修工效率提升考核试卷及答案
- 加气混凝土配料浇注工基础考核试卷及答案
- 八年级政治上册 6.1 网络交往新空间说课稿 新人教版
- 重庆法治考试题库及答案
- 工业厂房漏水原因分析与修复方案
- 学生心理健康关爱方案设计解析
- 食为天:2024中国食品饮料行业白皮书
- 宠物中医理疗保健(山东畜牧兽医职业学院)知到智慧树答案
- 海外医疗旅游咨询与服务合同
- 《广西壮族自治区房屋建筑和市政工程施工招标文件范本(2023年版)》
- 2024-2030年台湾家具行业市场竞争格局及投资规划分析报告
- 中国石油联营协议合同范本
- 中医体质分型
- T-CNLIC 0113-2023 母婴洗碗机技术要求和试验方法
- 标书内技术服务和售后服务方案
- 《中国特色社会主义道路的开辟与发展》部优课件
- 2024下肢软组织损伤修复指南要点(全文)
评论
0/150
提交评论