JAVA语言基础内部测试题一.单项选择题(请选择最符合题目要求的答案)(每题2分)BCDAB1.定义类头时,不可能用到的关键字是( )。
2.A) class B)private C)extends D)public3.下列类定义中,不正确的是( )。
A)class x { .... }B)class x extends y { .... }C)static class x implements y1,y2 { .... }D)public class x extends Applet { .... }4.设 A为已定义的类名,下列声明A类的对象a的语句中正确的是( )。
A)float A a;B)public A a=A( );C) A a=new int( );D) A a=new A( );5.有一个类A,以下为其构造方法的声明,其中正确的是( )。
A)public A(int x){...}B)static A(int x){...}C)public a(int x){...}D)void A(int x){...}6.下列语句哪一个正确()A)Java程序经编译后会产生machine code 机器码B)Java程序经编译后会产生byte code 字节码.classC)Java程序经编译后会产生DLLD)以上都不正确DDL:动态链接库(Dynamic Link Library或者Dynamic-link library,缩写为DLL),是微软公司在微软视窗操作系统中实现共享函数库概念的一种实作方式。
DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件。
7.下列选项中,定义接口MyInterface的语句正确的是:()A)interface MyInterface{ } B) implements MyInterface { }C) class MyInterface{ } D) implements interface My{ }8.如果子类中的方法mymethod()覆盖了父类中的方法mymethod(),假设父类方法头部定义如下:void mymethod(int a),则子类方法的定义不合法的是:()A)public void mymethod(int a)B)protected void mymethod(int a)C)private void mymethod(int a)D)void mymethod(int a)9.在异常处理中,如释放资源、关闭文件、关闭数据库等由( )来完成。
A.try子句B.catch子句C.throw子句D.finally子句10.给定以下JAVA代码,这段代码编译运行后输出的结果是()public class Test {public static int aMethod(int i) throws Exception {//I=0try{return i/10;//0}catch(Exception ex){throw new Exception ("exception in a aMothod");}finally{System.out.print("finally");}}public static void main(String [] args) {try{aMethod(0);}catch(Exception ex){System.out.print("exception in main");}System.out.print("finished");}}A)finallyexception in mainfinishedB)exception in mainfinallyC)finallyfinishedD)finallyexception in mainfinished11.在Java语言中,下列关于类的继承的描述,正确的是()。
A)一个类可以继承多个父类B)一个类可以具有多个子类C)子类可以使用父类的所有方法D)子类一定比父类有更多的成员方法12.下列选项中关于Java中super关键字的说法正确的是()。
A)super关键字是在子类对象内部指代其父类对象的引用B)super关键字不仅可以指代子类的直接父类,还可以指代父类的父类C)子类通过super关键字只能调用父类的方法,而不能调用父类的属性D)子类通过super关键字只能调用父类的属性,而不能调用父类的方法13.在JAVA的异常处理模型中,能单独和finally语句一起使用的块是()。
A)tryB)catchC)throwD)throws14.下面关于类的构造函数的说明正确的是()。
A)与类名相同,无返回值,不能定义为void,也不能用return返回值B)每个类都至少有一个构造器,如果程序中没有定义构造器,JVM会在编译时自动生成一个不带参数也无方法体的构造器。
C)构造函数可以重载D)以上都对//构造器就是和类名相同但无返回类型的方法15.在JAVA中,Object类是所有类的父亲,用户自定义类默认扩展自Object类,下列选项中的()方法不属于Object类的方法。
A)equals(Object obj)B)getClass()C)toString()D)trim() //去空格Obejct类有一个getClass()方法:返回此 Object 的运行时类。
16.下面哪个函数是public void example(){...} 的重载函数?A 、private void example( int m){...}B 、public int example(){...}C 、public void example2(){...}D 、public int example ( int m, float f){...}17.下列选项中关于Java中封装的说法错误的是()。
A)封装就是将属性私有化,提供公有的方法访问私有属性B)属性的访问方法包括setter方法和getter方法C)setter方法用于赋值,getter方法用于取值D)包含属性的类都必须封装属性,否则无法通过编译18.Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是()A)C不仅继承了B中的成员,同样也继承了A中的成员B)C只继承了B中的成员C)C只继承了A中的成员D)C不能继承A或B中的成员19.在JAVA中,LinkedList类和ArrayList类同属于集合框架类,下列()选项中的方法是LinkedList类有而ArrayList类没有的。
P 258A)add(Object o)B)add(int index,Object o)C)remove(Object o)D)removeLast()20.以下关于抽象类和接口的说法错误的是()A)抽象类在Java语言中表示的是一种继承关系,一个类只能使用一次继承。
但是一个类却可以实现多个接口。
B)在抽象类中可以没有抽象方法C)实现抽象类和接口的类必须实现其中的所有方法,除非它也是抽象类。
接口中的方法都不能被实现D)接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。
E)接口中的方法都必须加上public关键字。
21.关于面向对象的说法正确的是()A)类可以让我们用程序模拟现实世界中的实体B)有多少个实体就要创建多少个类C)对象的行为和属性被封装在类中,外界通过调用类的方法来获得,但是要知道类的内部是如何实现D)现实世界中的某些实体不能用类来描述二.多项选择题(所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分)(每题2分)1、在Java接口中,下列选项中有效的方法声明是()。
(选择二项)A、public void aMethod();B、void aMethod();C、protected void aMethod();D、private void aMethod();因为接口中的方法前的访问权限控制符默认为public,并且只能是public2、Java程序的种类有()A、类(Class)B.Applet C.Application D.Servlet1.内嵌于Web文件中,由浏览器来观看的_Applet2.可独立运行的Application3.服务器端的Servlets3、下列说法正确的有()A、环境变量可在编译source code (源代码) 时指定B、在编译程序时,所能指定的环境变量不包括 class pathC、javac一次可同时编译数个Java源文件D、javac.exe能指定编译结果要置于哪个目录(directory)4、下列标识符不合法的有()A.new B.Usdollars C.1234 D.Car.taxijava 变量命名规则:1. 大小写有别,例如 a 和A是两个变量 2. 长度任意 3. 可以任何字母开始,另外还可以以"_"和"$"开始,一般"$"是很多代码生成器用的,人工写出来的代码不鼓励"_" "$" 4. 除了第一个字符,后面可以跟任何字母,数字,_和$new 是关键字不行。
不能以数字开头。
不用有“.”这种符号5、不能用来修饰interface的有()A.private B.public C.protected D.static6、下列正确的有()A、call by value不会改变实际参数的数值B、call by reference能改变实际参数的参考地址C、call by reference不能改变实际参数的参考地址D、call by reference能改变实际参数的内容7、下列说法错误的有()A、在类方法中可用this来调用本类的类方法B、在类方法中调用本类的类方法时可直接调用C、在类方法中只能调用本类中的类方法D、在类方法中绝对不能调用实例方法实例方法是建立实例才有的方法类方法是直接可以使用类引用,不需要实例化就可以使用的方法,原来答案中包含A,但是在JDK1.5中,这样写是不会出错的,只不过会有警告而已。
类方法中当然可以条用其它的方法,比如system.out 。
当然你也可以new Object,调用一下object.toString()8、下列说法错误的有()A、Java面向对象语言容许单独的过程与函数存在B、Java面向对象语言容许单独的方法存在C、Java语言中的方法属于类中的成员(member)属于对象的成员就是类成员,类成员是静态的,java全部完全面向对象的D、Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同9、下列说法错误的有()A、能被java.exe成功运行的java class文件必须有main()方法B、J2SDK就是Java APIC、Appletviewer.exe可利用jar选项运行.jar文件D、能被 Appletviewer成功运行的java class文件必须有main()方法A正确main方法是入口BJ2SDK当然不仅仅包含java API C jar选项是java.exe 的选项 D Appletviewer是运行applet的,applet 不用main方法,继承applet类即可。