2017年java笔试题精选汇编

合集下载

初级java程序员笔试题及答案

初级java程序员笔试题及答案

初级java程序员笔试题及答案2017年初级java程序员笔试题及答案 程序员需要理解⼀个模块的需求,很多程序员写程序往往只关注⼀个功能需求,他们把性能指标全部归结到硬件,操作系统和开发环境上,⽽忽视了本⾝代码的性能考虑,性能需求指标中。

下⾯是⼩编整理的关于初级java程序员笔试题及答案,希望⼤家认真阅读! ⼀、选择题 以下对Java语⾔描述不正确的是(C ) A Java语⾔是⼀个完全⾯对对象的语⾔ B Java是结构独⽴、与平台⽆关的语⾔ C Java是⼀种编译性语⾔ D Java是⼀种解释性语⾔ 以下说法正确的是(C ) A Java程序⽂件名必须是和程序⽂件中定义的类型⼀致 B Java程序⽂件名可以和程序⽂件中定义的类名不⼀致 C Java源程序⽂件的扩展名必须是.java D以上A、C说法正确,B说法不正确 以下有关运⾏Java应⽤程序(Application)正确的说法是(B ) A Java应⽤程序是由Java编译器解释执⾏的 B Java应⽤程序经编译后⽣成的字节代码可由Java虚拟机解释执⾏ C Java应⽤程序经编译后可直接在操作系统下运⾏ D Java应⽤程序经编译后可直接在浏览器中运⾏ 4、以下有关标识符说法中正确的是(C ) A、任何字符的组合都可以形成⼀个标识符 B、Java的关键字也可以作为标识符使⽤ C、标识符是以字母、下划线或$开头,后跟字母、数字、下划线或$的字符组合 D、标识符是不分⼤⼩写 5、以下说法正确的是(D ) A、基本字符数据类型有字符和字符串两种 B、字符类型占两个字节,可保存两个字符 C、字符类型占两个字节,可保存⼀个字符 D、以上说法都是错误的 6、以下有关类型转变的说法错误的是(D ) A、低精度类型向⾼精度类型转换时,不会丢失数据精度 B、系统会⾃动进⾏(整型或浮点型)低精度类型数据向⾼精度类型数据的转换 C、⾼精度类型数据向低精度类型数据的转换、整型和浮点型数据之间的转换,必须强制进⾏,有可能会引起数据丢失 D、⾼精度类型数据向低精度类型转换时,也不会丢失数据精度,因为转换是系统进⾏的 7、以下正确的关系表达式(D )A、x≥yB、x+y<>zC、>=xD、x+y!=z 8、以下正确的逻辑表达式( A)A、(x+y>7)&&(x-y<1)B、!(x+y)C、(x+y>7)||(z=a)D、(x+y+z)&&(z>=0) 9、以下有关条件运算符(?:)说法正确的是( D) A、条件运算符是⼀个三元运算符,其格式是:表达式1?表达式2:表达式3 B、格式中的“表达式1”是关系或者逻辑表达式,其值是boolean值 C、若“表达式1”成⽴,该条件表达式取“表达式2”的值,否则取“表达式3”的值 D、以上说法都正确 10、在if(表达式)语句中,“表达式”的值必须是(C )A、任意整数值B、字符串C、布尔逻辑值D、⾮零值 11、在switch(表达式)语句中,“表达式”的值必须是(D )A、整数值B、字符值C、布尔逻辑值D、整数或字符值 12、下列关于for循环和while循环的说法中,正确的是(A ) A、while循环能实现的操作,for循环也能实现 B、while循环判断条件⼀般是程序结果,for循环判断条件⼀般是⾮程序结果 C、两种循环任何时候都可以替换 D、两种循环结构中必须都有循环体,循环体不能为空 13、下⾯表达式中,⽤来访问数组中的第⼀个值的是(C )A、intArray[1]B、intArray.1C、intArray[0]D、intArray.0 14下⾯的表达式中正确的是(C ) String s=”你好”;if(s==”你好”) System.out.println(true); String s=”你好”;if(s!=”你好”) System.out.println(false); String s=”你好”;if(s.equals(”你好”)) System.out.println(true); String s=”你好”;if(equals(s,”你好”)) System.out.println(true); 15String str;System.out.println(str.length());以上语句的处理结果是(A )A、编译报错B、运⾏结果是nullC、运⾏结果为0D、随机值 16、执⾏String [ ] s=new String[10];代码后,下⾯结论正确的是( D)A、s[10]为””B、s[10]为nullC、s[0]未定义D、s.length为10 17、构造器(B )被调⽤。

2017年Java面试笔试题目

2017年Java面试笔试题目

2017年Java面试笔试题目Java集合框架为Java编程语言的基础,也是Java面试中很重要的一个知识点。

下面CN人才网小编为大家带来的是,希望对大家有所帮助~1.Java集合框架是什么?说出一些集合框架的优点?每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。

随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。

在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。

它还包括在Java并发包中,阻塞接口以及它们的实现。

集合框架的部分优点如下:(1)使用核心集合类降低开发成本,而非实现我们自己的集合类。

(2)随着使用经过严格测试的集合框架类,代码质量会得到提高。

(3)通过使用JDK附带的集合类,可以降低代码维护成本。

(4)复用性和可操作性。

2.集合框架中的泛型有什么优点?Java1.5引入了泛型,所有的集合接口和实现都大量地使用它。

泛型允许我们为集合提供一个可以容纳的对象类型,因此,如果你添加其它类型的任何元素,它会在编译时报错。

这避免了在运行时出现ClassCastException,因为你将会在编译时得到报错信息。

泛型也使得代码整洁,我们不需要使用显式转换和instanceOf操作符。

它也给运行时带来好处,因为不会产生类型检查的字节码指令。

3.Java集合框架的基础接口有哪些?Collection为集合层级的根接口。

一个集合代表一组对象,这些对象即为它的元素。

Java平台不提供这个接口任何直接的实现。

Set是一个不能包含重复元素的集合。

这个接口对数学集合抽象进行建模,被用来代表集合,就如一副牌。

List是一个有序集合,可以包含重复元素。

你可以通过它的索引来访问任何元素。

List更像长度动态变换的数组。

Map是一个将key映射到value的对象.一个Map不能包含重复的key:每个key最多只能映射一个value。

java笔试题及答案2017

java笔试题及答案2017

java笔试题及答案2017# Java笔试题及答案20171. 题目:请解释Java中的接口和抽象类的区别。

答案: Java中的接口和抽象类都是不能被实例化的抽象类型,但它们之间存在一些关键区别:- 接口:接口可以包含常量(public static final字段),抽象方法,以及默认方法(Java 8引入)。

接口中的所有字段默认都是public static final的,所有方法默认都是public abstract的。

接口可以被多实现,一个类可以实现多个接口。

- 抽象类:抽象类可以包含构造方法,非抽象方法,静态方法,常量。

抽象类中的字段可以是任意访问修饰符。

一个类只能继承一个抽象类。

2. 题目:解释Java中的垃圾回收机制。

答案: Java的垃圾回收机制是一种自动内存管理功能,用于自动回收不再使用的对象所占用的内存。

垃圾回收器主要通过以下步骤工作:- 标记:垃圾回收器遍历所有从根对象可达的对象,标记这些对象为“活动”。

- 清除:垃圾回收器遍历堆内存,清除所有未被标记的对象。

- 压缩:可选步骤,将存活的对象移动到堆的一端,减少内存碎片。

3. 题目:在Java中,如何实现多线程?答案: Java中实现多线程可以通过以下几种方式:- 继承Thread类:创建一个继承自Thread类的子类,并重写run方法。

- 实现Runnable接口:创建一个实现了Runnable接口的类,并将Runnable对象传递给Thread类的构造函数。

- 使用Executor框架:使用Java提供的线程池管理器来管理线程。

4. 题目:请解释Java中的异常处理机制。

答案: Java的异常处理机制包括try、catch、finally和throw关键字:- try:用于定义可能抛出异常的代码块。

- catch:用于捕获try块中抛出的异常,并进行处理。

- finally:无论是否发生异常,finally块中的代码都会被执行,常用于资源清理。

java笔试题大集合及答案

java笔试题大集合及答案

java笔试题大集合及答案# Java笔试题大集合及答案1. Java中接口和抽象类的区别是什么?- 接口和抽象类都是抽象的,不能直接实例化。

- 接口中所有的方法默认是public的,而抽象类可以包含非public的成员。

- 一个类可以实现多个接口,但只能继承一个抽象类。

- 接口中不能包含构造方法,而抽象类可以。

- 接口中的字段默认是public static final的,而抽象类中的字段可以是任意类型。

2. Java中如何实现单例模式?- 单例模式确保一个类只有一个实例,并提供一个全局访问点。

- 可以通过私有化构造方法,提供一个私有静态变量来保存实例,并提供一个公有静态方法来获取实例。

3. Java中集合框架的层次结构是怎样的?- 集合框架分为两大类:单元素集合和复合元素集合。

- 单元素集合包括List、Set和Queue。

- 复合元素集合包括Map。

- 每个接口都有多个实现类,如ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等。

4. Java中如何实现多线程?- 可以通过继承Thread类并重写run方法来实现。

- 也可以通过实现Runnable接口并重写run方法,然后创建Thread对象来实现。

- Java 5引入了Executor框架,可以更方便地管理线程。

5. Java中异常处理的机制是什么?- Java使用try-catch-finally块来处理异常。

- try块中编写可能抛出异常的代码。

- catch块中编写处理异常的代码。

- finally块中的代码无论是否发生异常都会执行。

6. Java中StringBuffer和StringBuilder的区别是什么?- StringBuffer是线程安全的,而StringBuilder不是。

- StringBuffer的方法是同步的,StringBuilder的方法不是。

- 在单线程环境下,StringBuilder的性能优于StringBuffer。

java考试题库及答案

java考试题库及答案

java考试题库及答案2017年java考试题库及答案为帮助大家更好学习java知识,yjbys店铺为大家分享java考试填空题及答案解析如下:填空题(每空2分,共20分)请将每一个空的正确答案写在答题卡【6】~【15】序号的横线上,答在试卷上不得分。

注意:以命令关键字填空的必须平写完整。

(6)按照Java语言中的命令约定,方法名的起始字母一般要小写,但是【6】方方法例外。

(7)swing中的按钮类是【7】(8)Java语言中的`三目运算符是【8】(9)Java语言输入/输出流中包含字节流、【9】、文件流、对象流及管道流。

(10)在Java语言中,对象流以【10】方式传送和存储。

(11)请将下面程序补充完整Public class PowerCalc{Public static void main(String args[]){Double x=5.0;System.out.println(x+”to the power 4 is ”+power(x,4));System.out.println(“7.5 to the power 5 is”+power(7.5,5));System.out.println(“7.5 to the power 0 is”+power(7.5,0));System.out.println(“1.0 to the power -2 is”+power(10,-2));}Static double【11】(double x,int n){If(n>1)Return x*power(x,n-1);Else if(n<0)Return 1.0/power(x,-n);ElseReturn n==0 ? 1.0:x;}}(12)请将下面的Applet程序补充完整。

Import java.awt.*;Import java.applet.*;Public class Hi【12】{Public void paint(Graphics g){g.drawstring(“Hi”,25,25);}}(13)swing中的组件往往采用MVC结构,MAC指的是Model、View和【13】。

Java代码笔试题及答案大全

Java代码笔试题及答案大全

Java代码笔试题及答案大全Java代码笔试题及答案1、运算符优先级问题,下面代码的结果是多少?publicclassTest {publicstaticvoidmain(String[] args){int k = 0;int ret = ++k + k++ + ++k + k;// ret的值为多少System.err.println(ret);}}解答:主要考察++i和i++的区别。

++在前则先自增再赋值运算,++在后则先赋值再自增运算。

因此,结果为8。

2、在Java中,以下代码( A )正确地创建了一个InputStreamReader对象。

A) InuptStreamReader(new FileInputStream(“1.dat”));B) InuptStreamReader(new FileReader(“1.dat”));C) InuptStreamReader(new BufferReader(“1.dat”));D) InuptStreamReader (“1.dat”);3、下面代码的结果是什么?publicclassTest {publicvoidmyMethod(String str) {System.err.println("string");}publicvoidmyMethod(Object obj) {System.err.println("object");}publicstaticvoidmain(String[] args) {Test t = new Test();t.myMethod(null);}}解答:这道题考察重载方法参数具有继承关系时的调用问题,还有对null 的认识。

如果是一般具有继承关系的对象分别作为参数,看对象的引用,如:classA {}classBextendsA {}publicclassTest {publicstaticvoidmain(String[] args) {A b1 = new B();B b2 = new B();get(b1);// Aget(b2);// B}publicstaticvoidget(A a) {System.out.println("A");}publicstaticvoidget(B a) {System.out.println("B");}}这道题中,Object是一切类的父类,具有继承关系,那null是指向什么呢?null是任何引用类型的初始值,String和Object的初始值都是null,但是null会优先匹配引用类型参数为String的方法,因此这道题答案是string。

20XXjava笔试面试题及参考答案.doc

2017java笔试面试题及参考答案2017java笔试面试题一.选择题(30分)1.下列哪些情况可以终止当前线程的运行?a. 抛出一个异常时。

b. 当该线程调用sleep()方法时。

c. 当创建一个新线程时。

(与当前进程无关)d. 当一个优先级高的线程进入就绪状态时。

2. 下面哪些为构造函数的特性定义a. 在类中声明构造函数时,名称应该与类名相同b. 具有重载特性,可以建立多个相同的名称c. 使用类建立新对象时,会自动执行构造函数,因此在构造函数内设定变量的初值或进行内存分配d. 以上都是3. 关于异常处理机制的叙述哪些正确a. catch部分捕捉到异常情况时,才会执行finally部分(无论是否有毛病,都执行)b. 当try区段的程序发生异常时,才会执行catch区段的程序c. 不论程序是否发生错误及捕捉到异常情况,都会执行finally部分d. 以上都是4. 下列关于接口的叙述中哪些是正确的a. 接口中的数据必须设定初值(就是接口中的常量)b. 接口中的方法都是抽象方法c. 接口可以声明引用d. 以上都正确5. Java语言中,方法的重写(Overriding)和重载(Overloading)是多态性的不同表现。

下边哪些说法是对的?A. 重写是父类与子类之间多态性的一种表现。

B. 重写是一个类中多态性的一种表现。

C. 重载是一个类中多态性的一种表现。

D. 重载是父类与子类之间多态性的一种表现。

6.在Struts应用的视图中包含哪些组件?A. JSPB. ServletC. ActionServletD. ActionE. 代表业务逻辑或业务数据的JavaBeanF. EJBG. 客户化标签7. struts框架中,关于FormBean,下列哪些说法是正确的:A FormBean是一种数据bean,主要用来封装表单提交上来的数据,并把这些数据传递给ActionB 在FormBean中可以对页面上传递来的参数进行一下格式上的验证,这种验证是一种客户端的验证C 用户每次提交表单,都会产生一个新的FormBean实例D 动态FormBean不能进行验证操作8哪些方法可以进行servlet的调试?()A、使用打印语句;在桌面计算机上运行服务器B、使用Apache Log4JC、使用IDE集成的调试器D、直接查看HTML源码????E、返回错误页面给客户9、下面关于servlet的功用说法正确的有哪些?()A、读取客户程序发送来的显式数据B、读取客户程序发送来的隐式数据C、生成相应的结果D、发送显式的数据给客户程序E、发送隐式的数据给客户程序10、下面关于session的用法哪些是错误的?(A、HttpSession session = new HttpSession();request.getSession();B、String haha =(String) session.getParameter(Attribute)( haha );C、session.removeAttribute( haha );D、session. setAttribute( haha ,值);11、关于说法正确的有哪些?()A、URL的输出在请求时被插入到JSP页面中B、不能含有影响整个页面的JSP内容C、被包含文件改变后不需更改使用它的页面D、被包含文件更改后,需要手动地更新使用它的页面(不需要手动更新)12、关于bean的说法正确的有哪些?()A、具备一个零参数(空)的构造函数(不是必须的)B、不应该有公开的实例变量(字段)C、所有的属性都必须通过getXxx和setXxx方法来访问D、布尔型的属性使用isXxx,而非getXxx13、下面关于MVC说法错误的有哪些?()A、必须使用复杂的框架B、使用内建的RequestDispatcher能够很好地实现MVCC、当其中一个组件发生变化的时候,MVC影响整个系统的设计D、我们可以用MVC来处理单个请求14、下面的标签中哪些是JSTL标签?()15、struts框架,错误的是,下面那些说法正确?A Struts中无法完成上传功能B Struts框架基于MVC模式C Struts框架容易引起流程复杂、结构不清晰等问题(清晰)D Struts可以有效地降低项目的类文件数目二、填空题( 5分)1、调用函数MOD(123,10)返回值为___。

java测试题2017及答案

java测试题2017及答案1. Java中的“==”和“equals()”方法有何不同?- “==”用于比较两个基本数据类型的值是否相等,以及两个引用是否指向同一对象。

- “equals()”是一个方法,用于比较两个对象的内容是否相等。

它是Object类的方法,可以被所有Java对象继承。

如果需要比较两个对象的内容是否相等,应该重写equals()方法。

2. Java中如何实现多态?- 多态可以通过继承和接口实现。

当子类重写父类的方法时,可以表现出多态性。

此外,通过接口也可以实现多态,当多个类实现同一个接口时,它们可以被同一个接口类型的引用所指向,从而表现出多态性。

3. Java中String类是可变的还是不可变的?- String类是不可变的。

一旦String对象被创建,它的内容就不能被改变。

任何对String对象的修改都会产生一个新的String对象。

4. Java中的垃圾回收机制是如何工作的?- Java的垃圾回收机制主要依赖于垃圾收集器(Garbage Collector, GC)。

当对象不再被任何引用指向时,它们就成为了垃圾收集器的回收对象。

垃圾收集器会定期检查内存,识别并回收这些不再使用的对象,以释放内存空间。

5. Java中如何实现线程同步?- 线程同步可以通过synchronized关键字实现。

它可以用于方法或者代码块,确保同一时间只有一个线程可以执行特定的代码段。

此外,还可以使用Lock接口和ReentrantLock类来实现更灵活的线程同步。

6. Java中异常处理的机制是什么?- Java异常处理机制基于try-catch-finally语句。

try块用于包围可能抛出异常的代码,catch块用于捕获并处理异常,finally块用于执行清理工作,无论是否发生异常都会执行。

7. Java中集合框架的主要接口有哪些?- Java集合框架的主要接口包括List、Set和Map。

List接口允许有序的集合,可以包含重复元素;Set接口不允许重复元素;Map接口存储键值对,不允许重复的键。

2017年4月Java语言程序设计(一)真题答案+解析+知识点

2017年4月高等教育自学考试全国统一命题考试Java语言程序设计(一)试卷课程代码 04747一、单项选择题(本大题共10小题,每小题1分,共10分)1. 在下列供选的字符串中,不能作为Java整型常量的是A.052B.0x3BEHC.6389D.0x3fedL【答案】B【解析】该题考查Java语言基础知识中基本数据类型中的整数类型。

Java语言中整型常量有十进制、八进制和十六进制三种写法。

A项以数字符0开头,是八进制写法;C项是十进制写法;D项以0x开头,后随字符和英文字母A到F,是十六进制写法,最后的字母L表示该整型为长整型;C项错在最后的字母H,十六进制表示时后随字符和英文字母A到F。

所以C项不能作为Java整型常量。

【知识点】整数类型的四种表示形式2. 在以下供选的关键字中,能用于定义常值变量的是A.finalB.staticC.protectedD.super【答案】A【解析】该题考查Java语言基础知识中的关键字。

Java语言中的关键字被赋予特定的意义,用于表示程序结构、定义和修饰等。

每个关键字在程序中出现有特定位置和使用方法的要求。

B项用于修饰类变量或类方法;C项为访问权限中受保护访问权限关键字,只限子类或者同一包中的类的方法能访问;D项。

A项的意义是最终的,其意思是“不能改变”,修饰变量时,声明该变量的值不能被改变。

所以A项能用于定义常值变量。

【知识点】常用关键字的使用3. 下列Java语句中,不正确的是A.float e=0.0d;B.char c,d=‘a’;C.int $ e,a,b=10;D.double e=0.0f;【答案】A【解析】该题考查Java语言基础知识中基本数据类型间转换关系。

Java语言中的基本数据类型转换分为自动转换和不兼容类型的强制转换两种:当满足两种类型是兼容的和目的类型数的范围比来源类型的大这两个条件时,发生自动转换。

A项是定义单精度实型(float)变量(e)且赋值(0.0d),但是0.0d是双精度实型值,不满足目的类型数的范围比来源类型的大这个条件,在赋值时出现类型不匹配错误,因此是不正确的;B项定义了两个字符型变量(c和d)并对d赋初始值(’a’);C项定义了三个整型变量($e、a和b)并对b赋初始值10;D项定义了一个双精度实型变量(e)并对e赋单精度初始值(0.0f),满足两种类型是兼容的和目的类型数的范围比来源类型的大这两个条件,会自动转换。

java笔试题及答案.doc

java笔试题及答案.docjava笔试题及答案有了下面java笔试题及答案,进行java笔试时就容易多了,请您对下文进行参考:1、作用域public,private,protected,以及不写时的区别答:区别如下:作用域当前类同一package子孙类其他package public 7 7 7 7 protected 7 7 7 X friendly 7 7 X X private 7 X X X 不写时默认为friendly2、Anonymouslnner Class (匿名内部类)是否可以exte nd s (继承)其它类,是否可以imple ment s (实现)i nterf ace (接口)答:匿名的内部类是没有名字的内部类。

不能exte n ds (继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现3、Sta ti cNestedC las s 和Inner Clas s 的不同答:Nes tedC lass (一般是C+ +的说法),In nerClass (—般是JAVA的说法)。

J ava内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。

注:静态内部类(I nn erClass)意味着1创建一个st atic内部类的对象,不需要一个外部类对象,2不能从一个st atic内部类的一个对象访问一个外部类对象4、和的区别答:是位运算符,表示按位与运算,是逻辑运算符,表示遷辑与(and )5、Coll ect ion 和Col lect ions 的区别答:Coll ect ion是集合类的上级接口,继承与他的接口主要有Set和List.Col lections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作6、什么时候用assert答:asserti on (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2017年java笔试题精选汇编一.选择题(共50题,每题2分,共100分。

多选题选不全或选错都不得分。

) 1.以下属于面向对象的特征的是(C,D)。

(两项)A) 重载B) 重写C) 封装D) 继承2.以下代码运行输出是(C)public class Person{private String name=”Person”;int age=0;}public class Child extends Person{public String grade;public static void main(String[] args){Person p = new Child();System.out.println();}}A) 输出:PersonB) 没有输出C) 编译出错D) 运行出错3.在使用super 和this关键字时,以下描述正确的是(A)A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过B) super()和this()不一定要放在构造方法内第一行C) this()和super()可以同时出现在一个构造函数中D) this()和super()可以在static环境中使用,包括static方法和static语句块4.以下对封装的描述正确的是(D)A) 只能对一个类中的方法进行封装,不能对属性进行封装B) 如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用C) 封装的意义不大,因此在编码时尽量不要使用D) 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性5.以下对继承的描述错误的是(A)A) Java中的继承允许一个子类继承多个父类B) 父类更具有通用性,子类更具体C) Java中的继承存在着传递性D) 当实例化子类时会递归调用父类中的构造方法6.以下程序的运行结果是(D)class Person{public Person(){System.out.println(“this is a Person”); }}public class Teacher extends Person{ private String name=”tom”;public Teacher(){System.out.println(“this is a teacher”); super();}public static void main(String[] args){ Teacher teacher = new Teacher(); System.out.println();}}A) this is a Personthis is a teachertomB) this is a teacherthis is a PersontomC) 运行出错D) 编译有两处错误7.以下说法错误的是()A) super.方法()可以调用父类的所有非私有方法B) super()可以调用父类的所有非私有构造函数C) super.属性可以调用父类的所有非私有属性D) this和super关键字可以出现在同一个构造函数中8.以下关于final关键字说法错误的是(A,C)(两项)A) final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性B) final修饰的类肯定不能被继承C) final修饰的方法不能被重载D) final修饰的变量不允许被再次赋值9.访问修饰符作用范围由大到小是(D)A) private-default-protected-publicB) public-default-protected-privateC) private-protected-default-publicD) public-protected-default-private10.以下(D)不是Object类的方法A) clone()B) finalize()C) toString()D) hasNext()11.多态的表现形式有(A)A) 重写B) 抽象C) 继承D) 封装12.以下对重载描述错误的是(B)A) 方法重载只能发生在一个类的内部B) 构造方法不能重载C) 重载要求方法名相同,参数列表不同D) 方法的返回值类型不是区分方法重载的条件13.以下(D)添加到ComputerBook中不会出错class Book{protected int getPrice(){return 30;}}public class ComputerBook extends Book{}A) protected float getPrice(){}B) protected int getPrice(int page){}C) int getPrice(){}D) public int getPrice(){return 10;}14.以下对抽象类的描述正确的是(C)A) 抽象类没有构造方法B) 抽象类必须提供抽象方法C) 有抽象方法的类一定是抽象类D) 抽象类可以通过new关键字直接实例化15.以下对接口描述错误的有(D)A) 接口没有提供构造方法B) 接口中的方法默认使用public、abstract修饰C) 接口中的属性默认使用public、static、final修饰D) 接口不允许多继承16.以下代码,描述正确的有(A)interface IDemo{public static final String name;1void print();2public void getInfo();3}abstract class Person implements IDemo{4 public void print(){}}A) 第1行错误,没有给变量赋值B) 第2行错误,方法没有修饰符C) 第4行错误,没有实现接口的全部方法D) 第3行错误,没有方法的实现17.接口和抽象类描述正确的有(B,C)(两项)A) 抽象类没有构造函数B) 接口没有构造函数C) 抽象类不允许多继承D) 接口中的方法可以有方法体18.以下描述错误的有(C)A) abstract 可以修饰类、接口、方法B) abstract修饰的类主要用于被继承C) abstract 可以修饰变量D) abstract修饰的类,其子类也可以是abstract修饰的19.以下描述正确的有(B)A) 方法的重写应用在一个类的内部B) 方法的重载与返回值类型无关C) 构造方法不能重载D) 构造方法可以重写20.以下程序运行结果是(A)public class Test extends Father{private String name=”test”;public static void main(String[] args){Test test = new Test();System.out.println(test.getName());}}class Father{private String name=”father”;public String getName() {return name;}A) fatherB) testC) 编译出错D) 运行出错,无输出21.以下对异常的描述不正确的有(C)A) 异常分为Error和ExceptionB) Throwable是所有异常类的父类C) Exception是所有异常类父类D) Exception包括RuntimeException和RuntimeException之外的异常22.在try-catch-finally语句块中,以下可以单独与finally一起使用的是(B)A) catchB) tryC) throwsD) throw23.下面代码运行结果是(B)public class Demo{public int add(int a,int b){return a+b;}catch(Exception e){System.out.println(“catch 语句块”);}finally{System.out.println(“finally 语句块”);}return 0;}public static void main(String[] args){ Demo demo = new Demo();System.out.println(“和是:”+demo.add(9,34)); }}A) 编译异常B) finally语句块和是:43C) 和是:43 finally语句块D) catch语句块和是:4324.以下描述不正确的有(D)A) try块不可以省略B) 可以使用多重catch块C) finally块可以省略D) catch块和finally块可以同时省略25.以下对自定义异常描述正确的是(C)A) 自定义异常必须继承ExceptionB) 自定义异常可以继承自ErrorC) 自定义异常可以更加明确定位异常出错的位置和给出详细出错信息D) 程序中已经提供了丰富的异常类,使用自定义异常没有意义26.以下程序运行结果是(D)public class Test {public int div(int a, int b) {try {return a / b;}catch(Exception e){System.out.println(“Exception”);}catch(NullPointerException e){System.out.println(“ArithmeticException”);}catch (ArithmeticException e) {System.out.println(“ArithmeticException”);} finally {System.out.println(“finally”);}return 0;}public static void main(String[] args) {Test demo = new Test();System.out.println(“商是:” + demo.div(9, 0));}}A) Exception finally 商是:0B) ArithmeticException finally 商是:0C) finally商是:0D) 编译报错27. 以下对TCP和UDP描述正确的是(D)A) TCP不能提供数据的可靠性B) UDP能够保证数据库的可靠性C) TCP数据传输效率高于UDPD) UDP数据传输效率高于TCP28. 在Java中,下面对于构造函数的描述正确的是(D)。

(选择一项)A) 类必须显示定义构造函数B) 构造函数的返回类型是voidC) 构造函数和类有相同的名称,并且不能带任何参数D) 一个类可以定义多个构造函数29. 根据下面的代码,String s = null;会抛出NullPointerException异常的有(A,C)。

相关文档
最新文档