JAVA基础阶段测试含答案.pdf_第1页
JAVA基础阶段测试含答案.pdf_第2页
JAVA基础阶段测试含答案.pdf_第3页
JAVA基础阶段测试含答案.pdf_第4页
JAVA基础阶段测试含答案.pdf_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java 基础阶段测试一基础阶段测试一 一、一、选择题选择题: (20 分)分) 1、下列叙述中,正确的是、下列叙述中,正确的是: ( ) A 声明变量时必须指定一个类型声明变量时必须指定一个类型B、Java 认为变量认为变量 number 和和 Number 相同相同 C、Java 中唯一的注释方式是中唯一的注释方式是“/”D、源文件中、源文件中 public 类可以有 类可以有 0 或多或多 个个 2、在在 switch(expression)语句中,语句中,expression 的数据类型不能是: 的数据类型不能是:A A、double B、charC、byteD、short 3、已知、已知 int a =new int100; ,在下列给出的数组元素中,非法的是:,在下列给出的数组元素中,非法的是:D A、a0B、a1C、a99D、a100 4、下列语句序列执行后,、下列语句序列执行后,x 的值是的值是(A)。 int a=3, b=4, x=5; if( +ab ) x=x+1; A、5B、3 C、4 D、 6 5、设、设 x,y 均为已定义的类名,下列声明对象均为已定义的类名,下列声明对象 x1 的语句中正确的是的语句中正确的是( C )。 A、 public x x1= new y( );B、 x x1=x( ); C、 x x1=new x( );D、 int x x1; 6、有一个类、有一个类 A,以下为其构造函数的声明,其中正确的是,以下为其构造函数的声明,其中正确的是(B)。 A、voidA(int x).B、A(int x). C、a(int x).D、void a(int x). 7Java 语言的类间的继承关系是语言的类间的继承关系是(B)。 A、 多重的多重的B、 单继承单继承C、 线程的线程的 D、不、不 能继承能继承 8、下面说法正确的是、下面说法正确的是(A)。 A、final 可修饰类、属性、方法。可修饰类、属性、方法。 B、abstract 可修饰类、属性、方法。可修饰类、属性、方法。abstract 可修饰类、方法。可修饰类、方法。 C、定义抽象方法需有方法的返回类型定义抽象方法需有方法的返回类型、名称名称、参数列表和方法体参数列表和方法体( (没没 有方法体有方法体) 。 D、用用 final 修饰的变量修饰的变量(常量常量) ,在程序中可对这个变量的值进行更改在程序中可对这个变量的值进行更改。 。 9、对于下列代码:、对于下列代码: 1) class Person 2) public void printValue(int i, int j) /. 3) public void printValue(int i)/. 4) 5) public class Teacher extends Person 6) public void printValue() /. 7) public void printValue(int i) /. 8) public static void main(String args) 9) Person t = new Teacher();/赋值兼容规则赋值兼容规则 10) t.printValue(10); 11) 第第 10 行语句将调用哪行语句?(行语句将调用哪行语句?( D ) A、line2B、line3 C、line 6 D、 line 7 10 下面关于下面关于 java 中类中类的说法哪个是不正确的(的说法哪个是不正确的(c ) A、类体中只能有变量定义和成员方法的定义,不能有其他语句。、类体中只能有变量定义和成员方法的定义,不能有其他语句。 B、构造函数是类中的特殊方法。、构造函数是类中的特殊方法。 C、类一定要声明为、类一定要声明为 public 的,才可以执行的,才可以执行。 D、一个、一个 java 文件中可以有多个文件中可以有多个 class 定义(但只能有一个定义(但只能有一个 Public 修饰修饰 的类)。的类)。 11、给出一段程序,选择运行结果(、给出一段程序,选择运行结果() public class sss public static void main(String args) String s1=args1;String s2=args2; String s3=args3;String s4=args4; System.out.println(“args2=”+s2); 命令行执行:命令行执行:java sss 1 2 3 4结果是下面哪一个?结果是下面哪一个? A、args2=2B、args2=nullC、args2=1 D、运行出运行出 现异常现异常 12、下面的下面的是关于类及其修饰符的一些描述,正确的是是关于类及其修饰符的一些描述,正确的是: ( ) 。 A、abstract 类只能用来派生子类,不能用来创建类只能用来派生子类,不能用来创建 abstract 类的对象 类的对象 (可以用赋值兼容规则(可以用赋值兼容规则)。)。 B、final 类不但可以用来派生子类,也可以用来创建类不但可以用来派生子类,也可以用来创建 final 类的对象。 类的对象。 C、abstract 不能与不能与 final 同时修饰一个类。同时修饰一个类。 D、abstract 方法必须在方法必须在 abstract 类中声明,但类中声明,但 abstract 类定义中可以 类定义中可以 没有没有 abstract 方法方法。 13、下列关于静态初始化器的叙述中,哪一个是正确的?(、下列关于静态初始化器的叙述中,哪一个是正确的?() A、静态初始化器是在构造函数之前加上、静态初始化器是在构造函数之前加上 static 修饰符。修饰符。 B、静态初始化器是对类自身进行初始化。、静态初始化器是对类自身进行初始化。 C、静态初始化器在同一个类中只能有一个。、静态初始化器在同一个类中只能有一个。 D、静态初始化器是在其所属的类加载内存时由系统自动调用执行。、静态初始化器是在其所属的类加载内存时由系统自动调用执行。 14、编译并运行下面的程序,运行结果为、编译并运行下面的程序,运行结果为(). public class T1 public static void main (String args) T1 a=new T1(); a.method(8); a.method(1.2f); void method(float i) System.out.println(“float: “+i); void method(long i) System.out.println(“long: “+i); A、程序有编译错误,因为两个、程序有编译错误,因为两个 method()方法必须定义为静态(方法必须定义为静态(static) 的。的。 B、程序可以编译运行,输出结果为:、程序可以编译运行,输出结果为: long: 8 float: 1.2 C、程序可以编译运行,输出结果为:、程序可以编译运行,输出结果为: float: 1.2 long: 8 D、 程序中定义的两个参数不同的程序中定义的两个参数不同的 method 方法称为方法重栽。方法称为方法重栽。 15、编译并运行下面的程序,运行结果为、编译并运行下面的程序,运行结果为(). public classA public static void main (String args) Aa=new B( ); a.test(); void test() System.out.print (“A“); class B extendsA void test() super.test(); System.out.println(“B“); A、 子类子类 B 定义了与父类定义了与父类 A 中同名的方法中同名的方法 test, java 中称为方法的覆盖 中称为方法的覆盖。 B、代码可以编译运行,并输出结果:、代码可以编译运行,并输出结果:AB C、代码可以编译运行,并输出结果:、代码可以编译运行,并输出结果:A。 D、子类子类 B 定义了与父类定义了与父类 A 中同名的方法中同名的方法 test,java 中称为方法的重载 中称为方法的重载 16、下面哪个说法正确、下面哪个说法正确() A、如果某公共的接口被声明在一个源文件中如果某公共的接口被声明在一个源文件中,则接口必须与源文件具则接口必须与源文件具 有相同的名字。有相同的名字。 B、 如果源文件包含如果源文件包含 import 语句语句, 则该语句必须是除空行和注释行外的则该语句必须是除空行和注释行外的 第一个语句行。第一个语句行。 C、如果某源文件包含如果某源文件包含 package 语句语句,则该语句必须是第一个非空则该语句必须是第一个非空、 、非非 注释行。注释行。 D、接口中的方法必定是抽象方法,但可以不用关键字、接口中的方法必定是抽象方法,但可以不用关键字 abstract 修饰修饰。 17、类的设计要求它的某个成员变量不能被外部类直接访问。应该使用下面、类的设计要求它的某个成员变量不能被外部类直接访问。应该使用下面 的哪些修饰符获得需要的访问控制的哪些修饰符获得需要的访问控制? A、 public B、no modifier C、 protected(权限仅次于(权限仅次于 public) D、 private 18、哪些返回、哪些返回 true ? 多选多选 String s= “hello“; String t = “hello“; char c = h,e,l,l,o ; A、s.equals(t); B、 t.equals(c); C、 s=t; D、t.equals(new String(“hello“); E、 t=c. 19、类、类 Teacher 和和 Student 都是类都是类 Person 的子类的子类 Person p; Teacher t; Student s; p, t and s are all non-null. if(t instanceof Person) s = (Student)t; 这个语句导致的结果是什么这个语句导致的结果是什么? A、将构造一个、将构造一个 Student 对象。对象。 B、表达式合法、表达式合法。 C、编译时非法。、编译时非法。 D、编译时合法而在运行时可能非法。、编译时合法而在运行时可能非法。 20、给出下面的代码:、给出下面的代码: class Person String name,department; public void printValue() System.out.println(“name is “+name); System.out.println(“department is “+department); public class Teacher extends Person int salary; public void printValue() / doing the same as in the parent method printValue() / including print the value of name and department. System.out.println(“salary is “+salary); 下面的哪些表达式可以加入下面的哪些表达式可以加入 printValue()方法的方法的“doing the same as.“部部 分分? A、 printValue(); B、this.printValue(); C、 person.printValue(); D、super.printValue(). 二、简答题:(二、简答题:(48 分)分) 1、简答方法的、简答方法的 OverLoading 和和 Overriding 区别。(区别。(笔试题笔试题) (1) OverLoading:方法重载方法重载 是指方法名相同是指方法名相同, 参数类型及参数个数不同参数类型及参数个数不同 的一组方法,在调用是根据传入参数不同调用同名的不同方法的一组方法,在调用是根据传入参数不同调用同名的不同方法 (2)Overriding:方法重写方法重写 是指子类继承父类时是指子类继承父类时,在子类中定义与父类在子类中定义与父类 返回值类型相同返回值类型相同、方法名相同方法名相同、参数参数列表列表相同相同,子类访问权限大于或等于子类访问权限大于或等于 父类父类,如果有异常如果有异常,子类抛出的异常小于或等于父类的子类抛出的异常小于或等于父类的。但是方法体不同但是方法体不同 的方法的方法 2、简答、简答 Java 实现动态多态的手段。实现动态多态的手段。 (1)多态:相同的消息被不同的对象接受,产生不同的行为结果。)多态:相同的消息被不同的对象接受,产生不同的行为结果。 相同的消息是指同名方法调用。相同的消息是指同名方法调用。 (2)动态多态实现的方式:通过抽象类或者是借口中定义的抽象方法,)动态多态实现的方式:通过抽象类或者是借口中定义的抽象方法, 然后由子类或者接口的实现类实现后然后由子类或者接口的实现类实现后, 并使用兼容复制规则并使用兼容复制规则, 实现子类实现子类 或者实现类方法的动态调用或者实现类方法的动态调用 (1)定义抽象父类,在父类中定义抽象的方法;)定义抽象父类,在父类中定义抽象的方法; 父类被不同的子类继承时,子类重写父类定义的抽象方法;父类被不同的子类继承时,子类重写父类定义的抽象方法; (2)定义不同类共有方法的接口,在类实现时实现接口。)定义不同类共有方法的接口,在类实现时实现接口。 3、简答、简答 this 和和 super 的用法。的用法。 (1)this 用在构造方法中第一条语句,形如用在构造方法中第一条语句,形如 this(参数列表参数列表)表示对本类表示对本类 其他构造方法的调用其他构造方法的调用,用在非静态的成员方法中使用形如用在非静态的成员方法中使用形如 this。成员名表成员名表 示对本类成员的调用。示对本类成员的调用。 (2)super 出现在子类构造方法的第一行出现在子类构造方法的第一行,形如形如 super.(参数列表参数列表)表示对付表示对付 类构造方法的调用,在子类方法中形如类构造方法的调用,在子类方法中形如 super.成员名,表示对被子类覆盖的成员名,表示对被子类覆盖的 父类成员的调用父类成员的调用 (1)this 表示对本类成员和方法的引用表示对本类成员和方法的引用 (2)super 表示对父类方法的调用,必须在方法体的第一行表示对父类方法的调用,必须在方法体的第一行 4、简答抽象类和接口的区别。、简答抽象类和接口的区别。 (1)抽象类处于类族中的顶层抽象类处于类族中的顶层,提供允许子类继承的机制提供允许子类继承的机制,可以定义抽象方可以定义抽象方 法和非抽象方法法和非抽象方法,也可以定义构造方法和其他的成员变量也可以定义构造方法和其他的成员变量,也可以定义常量也可以定义常量,抽抽 象类不能实例化。象类不能实例化。 (2)接口定义了类的共同行为接口定义了类的共同行为,这些行为方法都是抽象的这些行为方法都是抽象的,接口中不能定义接口中不能定义 非抽象方法和成员变量非抽象方法和成员变量,接口允许多继承接口允许多继承,按照功能按照功能,接口可以非为三类接口可以非为三类:普通普通 接口,常量群接口和标记性接口(系统定义使用),接口不能实例化。接口,常量群接口和标记性接口(系统定义使用),接口不能实例化。 (1) 抽象类是对具有相同属性和行为的一组对象的高度概括抽象类是对具有相同属性和行为的一组对象的高度概括, 是一个高度概是一个高度概 括的父类括的父类 (2)接口是对具有相同行为的一组对象的概括,这对对象可能继承与一个)接口是对具有相同行为的一组对象的概括,这对对象可能继承与一个 父类,也可以继承不同的父类父类,也可以继承不同的父类 5、简述类族中构造方法的定义和调用次序。简述类族中构造方法的定义和调用次序。 (1)构造方法:方法名和类名相同,没有返回值类型构造方法:方法名和类名相同,没有返回值类型 (2)父类如何定义构造方法:父类如果定义了带参数的构造方法一般需父类如何定义构造方法:父类如果定义了带参数的构造方法一般需 要定义无参构造要定义无参构造 (3)子类如何定义构造方法:子类定义构造方法可以调用本类的其他构子类如何定义构造方法:子类定义构造方法可以调用本类的其他构 造方法,也可以调用父类的构造方法造方法,也可以调用父类的构造方法 (4)调用次序:首先指向弗雷的构造方法之后在定义本类的构造方法调用次序:首先指向弗雷的构造方法之后在定义本类的构造方法 class A A() class B entends A B() class C extends B C() 在创建在创建 C 类对象调用构造方法时类对象调用构造方法时: 先到用先到用 Object 类的构造方法类的构造方法 在调用在调用 A 类的构造方法,然后调用类的构造方法,然后调用 B 类的构造方法、最后调用类的构造方法、最后调用 C 类的构造方法类的构造方法 6、如何定义包、和使用包中的定义,使用时应该注意哪些事项。如何定义包、和使用包中的定义,使用时应该注意哪些事项。 定义包时包必须方在类的最上面第一行定义包时包必须方在类的最上面第一行, 包名必须小写包名必须小写, 多级包之间用多级包之间用 “.” 间隔间隔 一般定义格式:公司域名的倒置一般定义格式:公司域名的倒置.模块名模块名 定义包的语法:定义包的语法:package 包名;包名; Import 包名包名.*;包名;包名.类名类名 Java 中不能隔包导入。中不能隔包导入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论