Java基础阶段测试

上传人:无*** 文档编号:145826755 上传时间:2022-08-30 格式:DOC 页数:13 大小:63.50KB
返回 下载 相关 举报
Java基础阶段测试_第1页
第1页 / 共13页
Java基础阶段测试_第2页
第2页 / 共13页
Java基础阶段测试_第3页
第3页 / 共13页
点击查看更多>>
资源描述
Java 基础阶段测试一选择题:(20 分)1、下列叙述中,正确的是: ( )A 声明变量时必须指定一个类型B 、 Java 认为变量 number 和 Number相同C、Java中唯一的注释方式是“ /” D、源文件中public类可以有0或多 个2、 在switch(expression)语句中,expression的数据类型不能是:AA、double B 、 charC、 byte D、 short3、已知 int a =new int100;,在下列给出的数组元素中,非法的是:A、 a0B、 a1C、 a99D、 a1004、下列语句序列执行后,x 的值是 ( A )int a=3, b=4, x=5;if( +ab ) x=x+1;D、65、设 x,y 均为已定义的类名,下列声明对象x1 的语句中正确的是 ( C )B 、x x1=x( );D 、 int x x1;A、public x x1= new y( );C、 x x1=new x( );6、有一个类A,以下为其构造函数的声明,其中正确的是(B)。A 、void A(int x).B、 A(int x).C、a(int x).D 、void a(int x).7 Java 语言的类间的继承关系是 ( 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(); /赋值兼容规则11) 第 10 行语句将调用哪行语句?( D )A 、 line2 B 、 line3 C 、 line 6D、 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;“args2= ”+s2);命令行执行: java sss 1 2 3 4 结果是下面哪一个?A、args2=2B、args2=null C、args2=1D、运行出现异常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) void method(long i) static )A、 程序有编译错误,因为两个method。方法必须定义为静态( 的。B、程序可以编译运行,输出结果为:long: 8float: 1.2C、程序可以编译运行,输出结果为:float: 1.2long: 8D、程序中定义的两个参数不同的 method 方法称为方法重栽。15、编译并运行下面的程序,运行结果为().public class A public static void main (String args) A a=new B( );a.test();void test() class B extends A void test() super.test();A 、子类 B 定义了与父类 A 中同名的方法 test,java 中称为方法的覆盖。B、 代码可以编译运行,并输出结果:ABC、 代码可以编译运行,并输出结果:A。D、子类B定义了与父类A中同名的方法test, java中称为方法的重载16、下面哪个说确 ( )A、如果某公共的接口被声明在一个源文件中,则接口必须与源文件具 有相同的名字。B、如果源文件包含import语句,则该语句必须是除空行和注释行外 的第一个语句行。C、如果某源文件包含package语句,则该语句必须是第一个非空、非 注释行。D 、接口中的方法必定是抽象方法,但可以不用关键字 abstract 修饰。17、类的设计要求它的某个成员变量不能被外部类直接访问。应该使用下面 的哪些修饰符获得需要的访问控制 ?A、publicB、no modifierC、protected (权限仅次于 public )D、private18、哪些返回 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()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.下面的哪些表达式可以加入 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 AA()class B entends AB()class C extends BC()在创建 C 类对象调用构造方法时: 先到用 Object 类的构造方法 在调用 A 类的构造方法,然后调用 B 类的构造方法、最后调用 C 类的构造方法6、如何定义包、和使用包中的定义,使用时应该注意哪些事项。 定义包时包必须方在类的最上面第一行, 包名必须小写, 多级包之间用“.” 间隔一般定义格式:公司域名的倒置 .模块名 定义包的语法: package 包名;Import 包名.*;包名 .类名Java 中不能隔包导入。 Java。 lang 中定义的接口和类使用时不用导包 三、编程题:1、求 1! +2! +3! + +10! (12 分)public class T1 public static void main(String args) int s = 1;int sum = 0;for (int i = 1; i = 10; i+) s *= i;sum += s;1!+2!+3!.+10!= + sum);2、定义一个类,完成一个动态数组,可以存取任意类型的对象,当数组空间全 部存进元素,空间应扩大原来的一半。( 20 分)public class Array_Obj private static int count = 0;private Object obj = new Object5;public Array_Obj() public Object getObj() return obj;public void add(Object obj) if (count = this .obj .length ) objAdd();this.objcount+ = obj;private void objAdd() Object temp = obj;obj = new Object obj .length + obj .length / 2;System.arraycopy(temp, 0, obj, 0, count );Overridepublic String toString() return T2 obj= + Arrays.toString( obj) +
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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