CoreJavaOOP考试题

合集下载

面向对象试题(标准答案)

面向对象试题(标准答案)

CoreJavaOOP考试题考试时间:90分钟考试总分:100分一、选择题(不定项选择)(22*4=88)1.类A,B的定义如下:class A {private int a = 100;A() {System.out.print("A()");System.out.println(a);}}class B extends A {private int a = 200;B() {System.out.print("B()");System.out.println(a);}}运行下面的代码:new B();输出的结果是:(A )。

A.A() 100B() 200B.A() 200B() 200C.B() 200A() 100D.B() 200A() 2002.下列说法正确的是(D )A.所有类都必须定义构造方法(构造器)B.构造方法必须初始化类的所有数据成员C.子类定义了构造器后,不再调用父类的构造器D.构造方法可以访问类的非静态成员3.在Java中,哪个关键字使类不能派生子类?, (A )A : finalB : publicC : privateD : native4.class Base{static void test(){System.out.println(“Base.test()”);}}public class Child extends Base{static void test(){System.out.println(“Child.test()”);}public static void main(String[] args){Base base = new Child();Child child = new Child();base.test();child.test();}}程序运行的结果是( C )A.Child.test() Child.test()B.Child.test() Base.test()C.Base.test() Child.test()D.Base.test() Base.test()5.下列哪些叙述是正确的(CD )A.在一个类中,方法不能与类名相同B.a bstract 可以修饰属性、方法和类C.实例方法可直接调用本类的static方法和非static方法D.static方法不能调用非static方法6.以下说法正确的是(ABC)A.子类不能继承父类的构造方法B.子类的构造方法可以访问父类的构造方法C.子类不可直接访问父类的私有属性D.子类可以重写父类的所有方法7.分析选项中关于Java中this关键字的说法正确的是( A )A.this关键字是在对象内部指代自身的引用B.this关键字可以在类中的任何位置使用C.this关键字和类关联,而不是和特定的对象关联D.同一个类的不同对象共用一个this8 下列关于继承的说法哪个是正确的?( B )A.子类只继承父类public方法和属性B.子类继承父类的非私有属性和方法C.子类只继承父类的方法,而不继承父类的属性D.子类将继承父类的所有属性和方法9.在Java中,关于final关键字的说法正确的是(AC )A.final修饰的变量,一旦赋值就不能被更改B.final修饰的类只能被一个子类继承C.final修饰的方法,不能在子类中被覆盖D.final修饰的方法,不能被子类继承10. String s=new String(“xyz”)创建了几个对象(C);A. 0B. 1C. 2D. 311.下列语句的序列执行后,k的值是( B )int m=3,n=6,k=0;While((m++)<(--n))++k;A.0B.1C.2D.312.下列哪一项不是面向对象的典型特征(D )A.封装 B.继承C. 多态D.抽象13.(多选)在java中,关于构造方法,下列说法正确的是(ABD )A.构造方法的名称必须与类名相同B.构造方法可以带参数C.构造方法不可以重载D.构造方法绝对不能有返回值14.下面关于变量的说法正确的是(BC )A.实例变量可以通过类名直接调用B.类变量可以通过类名直接调用C. Java中的参数传递都是值传递D. 在不同的作用域不能定义相同的变量15.下列代码有编译错误的是第(C )行1)public class Test{2)public static void main(String[] args){3)int[] arr1 = new int[12];4)char[] arr2 = new char[];5)int[] arr3 = {};6)Object[] obj = new Object[4];7)Object obj1 = new object[9];8)}9)}A.5)B.5) 7)C.4) 7)D.4)16.下列代码的运行结果是(A )public class Test{private int num;private static Test test;public Test(int num){this.num = ++ num;}static{int num = 16;test = new Test(num);++ test.num;}public static void main(String[] args){test = new Test(13);System.out.println(test.num);}}A.14B.15C.16D.1717.仔细分析下列代码,请指出错误的行(D )。

JAVAaoop复习题笔试答案

JAVAaoop复习题笔试答案

JAVAaoop复习题笔试答案一、选择题(每题2分,共20分)1. 在Java中,以下哪个关键字用于实现类的继承?A. extendsB. implementsC. interfaceD. abstract2. 以下哪个是Java中实现多态的方式?A. 接口B. 继承C. 封装D. 重载3. 一个类可以有多个父类吗?A. 是B. 否4. 以下哪个是Java中封装的体现?A. 构造方法B. 继承C. 私有成员D. 多态5. 以下哪个是Java中抽象类的特点?A. 可以被实例化B. 可以没有抽象方法C. 必须包含抽象方法D. 不能包含抽象方法6. 接口和抽象类的区别是什么?A. 接口可以包含方法的实现B. 抽象类可以被实例化C. 接口可以包含静态方法D. 抽象类可以包含非抽象方法7. 以下哪个是Java中重载(Overloading)的特点?A. 方法名相同,参数列表不同B. 方法名不同,参数列表相同C. 方法名和参数列表都相同D. 方法名不同,参数列表不同8. 以下哪个是Java中重写(Overriding)的特点?A. 子类重写父类的方法,方法名和参数列表必须相同B. 子类可以改变父类方法的访问权限C. 子类可以重写父类的方法,但是方法名必须不同D. 子类可以重写父类的方法,但是返回类型必须不同9. 以下哪个是Java中封装的一个好处?A. 提高代码的重用性B. 增加代码的复杂性C. 保护数据不被外部访问D. 允许外部代码修改对象的内部状态10. 以下哪个是Java中继承的一个好处?A. 减少代码的重用B. 避免代码的重用C. 提高代码的重用性D. 减少代码的可读性二、简答题(每题10分,共30分)1. 请简述Java中封装的概念及其重要性。

2. 解释Java中的多态性,并给出一个多态的例子。

3. 描述Java中抽象类和接口的区别,并说明它们各自的使用场景。

三、编程题(每题25分,共50分)1. 编写一个Java程序,创建一个名为`Animal`的抽象类,包含一个抽象方法`makeSound()`。

Core java 考试试题

Core java 考试试题
A. For
B. boolean
C. 23age
D. _id
E. my name
F. $this_is_a_long_variable_name
8.以下不是java关键字的有 。
A. super
B. this
C. NULL
D. true
9.以下能作为char类型的字面值的有 。
A. "e"
B. 'f'
I.encapsulation
J. polymorphism
17.以下方法声明正确的有 。
A. public static synchronized void writeLog(String msg)
B. synchronized public static writeLog(String msg)
B.在同一类型中定义的方法
C.方法名必须相同
D.返回类型必须相同
E.参数一定不同
F.参数可以相同
21.对于构造方法(constructor)描述正确的有 。
A.构造方法没有返回类型
B.构造方法一定是public的方法
C.如果我们没有显示定义构造方法,系统会提供一个缺省的
D.构造方法不能重载
22.在java语法中允许 继承, 方法不能被继承, 被继承,显示调用父类型的构造方法是通过调用 来完成的。
A. 0
B.1
C. -1
6.以下属于正确的java注释有 。
A. //This is comment
B. /*This is comment
C. /**This is comment*/
D. /*This is comment*/
7.以下能作为class, interface, method或variable有效标识符的有 。

《CoreJava》理论试题题库答案版

《CoreJava》理论试题题库答案版

《CoreJava》理论试题题库答案版得分阅卷人一、单选题(20题,共38分)1、(2分)基本数据类型float的包装类是哪项,(C) A( Integer B( DoubleC( Float D( Character 2、(2分)使用下列哪个修饰符定义的类不能被继承( C ) A. static B. abstract C. final D. Native3、(1分)下列类的定义,错误的是( D ) A. public class test extends Object{……} 学院班级姓名 B. final class operators{……}密封线内不要答题 C. class Point{……}D. void class Point{……}4、(2分)静态内部类是指使用(B)来修饰的内部类 A(final B.staticC.publicD.protected5、(2分)匿名内部类的特点下面错误的是(b) A、匿名内部类没有构造方法B、匿名内部类是静态的C、它主要用于继承其他类或实现接口D、它是一个特殊的局部内部类6、(2分)下列哪个类不是java基本数据类型的封装类,( C )A. Integer;B. Byte;C. String;D. Character;7、(1分)基本数据类型char的包装类是哪项,( D )A intB charC StringD Character8、(2分)阅读以下程序代码,作出分析:public class Test { public static void main(String[]args) { boolean b = true; b=new Apple().equals(new Apple()); System.out.println(b); }}class1 / 49Apple{}该程序的输出结果是:(A)A(falseB(trueC. 不确定结果D. 编译错误9、(2分)List接口的特点是哪项,(C)A(不允许重复元素,元素无顺序B(不允许重复元素,元素无顺序c(允许重复元素,元素有顺序D(允许重复元素,元素无顺序10、(2分)关于HashMap和HashTable的说法错误的是( D ): A. HashMap和HashTable都是Map接口的实现类B. HashTable是线性安全的C. HashMap是线性不安全的D(HashTable要比HashMap的性能高一点11、(2分)当程序调用一个null对象的方法或属性时,这将引起(A )异常A NullPointerExceptionB NumberFormatExceptionC IndexOutOfBoundExceptionD 以上都可能12、(2分)局部内部类是定义在(B)A.外部类里面 B、外部类的某个方法里面 C、通过实现接口来实现 D、都可以13、(1分)创建一个数据库对象的关键字是( D )A、alterB、newC、addD、create 14、(2分):在数据库中,下列表示整型数据类型的是(B)。

javaoop练习题

javaoop练习题

一、面向对象基础1. 简述面向对象编程的特点。

2. 解释类和对象的关系。

3. 什么是封装?举例说明。

4. 什么是继承?举例说明。

5. 什么是多态?举例说明。

6. 简述Java中的访问控制符。

7. 什么是构造函数?举例说明。

8. 什么是析构函数?举例说明。

9. 什么是抽象类?举例说明。

10. 什么是接口?举例说明。

二、类和对象1. 定义一个名为Person的类,包含姓名、年龄和性别属性,以及相应的构造函数和get/set方法。

2. 定义一个名为Student的类,继承自Person类,增加学号属性,以及相应的构造函数和get/set方法。

3. 定义一个名为Teacher的类,继承自Person类,增加职称属性,以及相应的构造函数和get/set方法。

4. 定义一个名为Student的类,实现一个名为Study的接口,包含一个名为study的方法。

5. 定义一个名为Teacher的类,实现一个名为Teach的接口,包含一个名为teach的方法。

6. 定义一个名为Car的类,包含引擎、轮胎和油箱属性,以及相应的构造函数和get/set方法。

7. 定义一个名为Engine的类,包含功率和转速属性,以及相应的构造函数和get/set方法。

8. 定义一个名为Tyre的类,包含品牌和尺寸属性,以及相应的构造函数和get/set方法。

9. 定义一个名为OilTank的类,包含容量和油量属性,以及相应的构造函数和get/set方法。

10. 定义一个名为Rectangle的类,包含长和宽属性,以及计算面积和周长的方法。

三、继承和多态1. 定义一个名为Animal的抽象类,包含一个抽象方法名为eat。

2. 定义一个名为Dog的类,继承自Animal类,实现eat方法。

3. 定义一个名为Cat的类,继承自Animal类,实现eat方法。

4. 定义一个名为Bird的类,继承自Animal类,实现eat方法。

5. 定义一个名为Mammal的类,继承自Animal类,包含一个方法名为milk。

javaoop测试题及答案

javaoop测试题及答案

javaoop测试题及答案一、选择题(每题2分,共20分)1. Java中,哪个关键字用于定义类?A. classB. interfaceC. enumD. struct2. 下列哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. All of the above3. 在Java中,哪个关键字用于实现继承?A. extendsB. implementsC. overrideD. abstract4. 以下哪个是Java的包装类?A. StringB. IntegerC. ArrayListD. HashMap5. 以下哪个是Java中的错误类型?A. NullPointerExceptionB. IOExceptionC. RuntimeExceptionD. Both A and C6. Java中的main方法的返回类型是什么?A. voidB. intC. StringD. Object7. 下列哪个是Java集合框架中接口?A. ArrayListB. ListC. HashMapD. Iterator8. 在Java中,哪个关键字用于实现多态?A. newB. instanceofC. superD. override9. 以下哪个是Java的异常处理关键字?A. tryB. catchC. finallyD. All of the above10. 在Java中,哪个关键字用于定义接口?A. classB. interfaceC. abstractD. enum答案:1. A2. D3. A4. B5. D6. B7. B8. D9. D10. B二、填空题(每空2分,共20分)1. Java是一种________面向对象的编程语言。

2. 一个Java类可以继承另一个类的__________和实现多个接口。

3. Java中的__________关键字用于定义一个方法或类,该方法或类可以被子类继承并重写。

Core Java测试题(一)

Core Java测试题(一)

班级____________ 姓名____________ 考试时间____________Core Java试题选择填空题:选择题全部为多选题,只有全部正确才能得分。

1.编译java程序的命令是________;运行java程序的命令是________;产生java文挡的命令是________;查询java类型是否是serializable类型的命令是________;产生java安全策略文件的命令是________;产生类型归档文件.jar的命令是________。

A. javaB. javacC. serialverD.javadocE.policytoolF.jar2.在一个java原文件中,import, class, package语句的顺序是________。

A.import class packageB.class import packageC.package class importD.import package classE.class package importF.package import class3.下面叙述正确的有____________________。

A.在一个java原文件中只能定义一个classB.在一个java原文件中只能定义一个interfaceC.在一个java原文件中可以定义多个classD.在一个java原文件中可以定义多个interfaceE.在一个java原文件中可以定义多个class和interfaceF.在一个java原文件中只能定义public classG.java原文件的前缀一定是所包含类型的名字4.java程序中程序运行入口方法main的签名正确的有________。

A.public static void main(String args[])B.static public void main(String[] args)C.public void static main(String[] args)D.public void main(String args[])5.java程序中程序入口方法main的参数代表命令行输入参数,命令行参数从________开始。

CoreJava第一次考试——1

CoreJava第一次考试——1

考试一试题类型: 不定项选择题试题 1 指出下面语句编译错误的是()A.byte b=128;B.boolean flag=null;C.long a = 2147483648L;D.float f=0.9239;试题 2 完成代码计算10 的阶乘并输出,应该填入的代码是()long result = 1;for(int i = 2; i <= 10; i++) {< 填入代码>}System.out.println("result= " + result);5 5A.result = result * i;B.result = i*i;C.result = i*(i+1);D.reslut = i*(i-1);试题 3 下列关于数组的声明错误的是(A.int[] arry = new int[100];B.int[3] arry = {1,2,3}C.int[] arry = new int[]{1,2,3}D.int[][] arry = new int[3][]试题 4 语句System.out.println(1+2+"java"+3+4)输出的结果是( )。

A.3java34B.12java34C.3java7D.12java7试题 5 下面程序的输出结果是( )public static void main(String[] args) {int d = 325;int sum = 0;while (d > 0) {int n = d % 10;sum += n;d /= 10;}System.out.println(sum);A.10B.12C.5D.32试题 6 下面代码的输出结果是( ) public class Main { public static void main(String[] args) { int n1 = 1;int n2 = 2;n1 = n1 + n2;n2 = n1 - n2;n1 = n1 - n2;System.out.println(n1 + "," + n2);}}A.1,2B.2,1C.1,3D.3,2试题7 下面代码的输出结果是()public class Main {public static void main(String[] args) { int n = 100;int m = 200;System.out.println(f(n,m));System.out.println(n);}public static int f(int m, int n) {n = m+n;return n;}}A.300300B.100100C.300100D.100试题8 下面关于Java 语言中方法的说法错误的是(A.方法调用时参数类型必须符合方法的定义B.参数传递是值传递的方式C.如果方法没有返回值必须声明返回为voidD.如果方法定义为返回void ,则方法中不能出现return 语句试题9 运行如下代码class Foo {private int value = 5;public Foo() {System.out.println("Foo()");System.out.println(value);}}class Bar extends Foo{private int value = 10;public Bar() {System.out.println("Bar()");System.out.println(value);}}public class Main {public static void main(String[] args) {Bar bar = new Bar();}}控制台输出的结果是( )A.Bar()10Foo()5B.Foo()5Bar()10C.Bar()5Foo()10D.Foo()10Bar()5试题10 实现Point 类的equals 方法,具体逻辑为:“成员变量x 和y 分别相等的Point 对象被视为相等”。

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

CoreJavaOOP考试题考试时间:90分钟考试总分:100分一、选择题(不定项选择)(2 * 20 = 40)1.下面哪些行为没有体现了Java的多态性(B)A.方法的覆盖B.抽象方法C.方法的重载D.类型转换2.下列说法正确的是(D)A.所有类都必须定义构造方法(构造器)B.构造方法必须初始化类的所有数据成员C.子类定义了构造器后,不再调用父类的构造器D.构造方法可以访问类的非静态成员3.下面代码运行的结果是(C)class F{Str ing name = “name_F”;private int age;public F(){}}class C extends F{String name = “name_C”;public C(){}public static void main(String[] args){F f = new C();C c = new C();System.out.println( +” ”+);}}_C name_C_C name_F_F name_C_F name_F4.public class Outer{private int index = 10;class Inner{private int index = 20;void print(){System.out.println(_____);System.out.println(_____);}}void print(){System.out.println(_____);}public static void main(String[] args){Outer o = new Outer();Outer.Inner i = o.new Inner();o.print();i.print();}}程序运行的结果是 10 20 10 ,则空白处填写的代码是(D)A.index index indexB.index Outer.index indexC.index index Outer.indexD.index Outer.this.index index5.class Base{static void test(){System.out.println(“Base.test()”);}}public class Child extends Base{static void test(){System.out.println(“Child.test()”);}public static void main(String[] args){Base base = new Child();Child child = new Child();base.test();child.test();}}程序运行的结果是(C)A.Child.test() Child.test()B.Child.test() Base.test()C.Base.test() Child.test()D.Base.test() Base.test()6.类中用多重catch 处理异常时,(B)异常类应最后列出。

A.NumberFormatExceptionB.ExceptionC.ArrayIndexOutOfBoundsExceptionD.ArithmeticException7.下列哪些叙述是正确的(CD)A.在一个类中,方法不能与类名相同B.astract 可以修饰属性、方法和类C.实例方法可直接调用本类的static方法和非static方法D.static方法不能调用非static方法8.以下说法正确的是(AC)A.子类不能继承父类的构造方法B.子类的构造方法可以访问父类的构造方法C.子类不可直接访问父类的私有属性D.子类可以重写父类的所有方法9.关于接口,以下说法错误的是(ACD)A.接口中可以定义非抽象方法B.接口可以继承多个接口C.接口中可以定义没有初始化的变量D.接口可以实现接口10.class Base{private int base = 10;public Base(){test(base);System.out.println(base);}void test(int base){++ this.base;}}public class Child{private int child = 20;public Child(){test(child);System.out.println(child);}void test(int child){-- this.child;}public static void main(String[] args){new Child();}}程序运行的结果是(D)A.19B.11 19C.11 20D.10 1911.public class InnerDemo{private int outer = 20;public static void main(String[] args){class Inner{private int inner = 30;public Inner(){test(inner);}void test(int inner){inner += 5;System.out.println(inner);}}int outer = 40;Inner inner = new Inner();inner.test(outer);}}程序运行的结果是(C)A.45B.30 45C.35 45D.35 4012.关于异常,下列描述正确的是(ABC)A.异常的基类为Exception,所有异常都必须直接或者间接继承它B.异常可以用try{ }catch(Exception e){ }来捕获并进行处理C.如果某异常继承RuntimeException,则该异常可以不被声明D.异常可以随便处理,而不是抛给外层的程序进行处理13.在Java中,关于final关键字的说法正确的是(AC)A.final修饰的变量,一旦赋值就不能被更改B.final修饰的类只能被一个子类继承C.final修饰的方法,不能在子类中被覆盖D.final修饰的方法,不能被子类继承14.下列不属于接口的是(BC)A.ListB.ArrayListC.HashSetD.Map15.1) public interface Test{2) static public final int num = 10;3) public static void add();4) public String test(){};5) public long delete();6)}关于上面的代码,以下说法错误的是(ABD)A.第 2)行代码有编译错误B.第 3)行代码没有编译错误C.第 4)行代码有编译错误D.第 5)行代码有编译错误16.下列哪一项不是面向对象的典型特征(D)A.封装 B.继承C. 多态D.抽象17.关于类、抽象类和接口,以下说法正确的是(ACD)A.接口可以继承多个接口B.抽象类不能实现接口C.一个类只能继承一个类,但可以实现多个接口D.抽象类实现接口,可以不实现接口的方法18.下面关于变量的说法正确的是(BC)A.实例变量可以通过类名直接调用B.类变量可以通过类名直接调用C.Java中的参数传递都是值传递D.在不同的作用域不能定义相同的变量19.下列代码有编译错误的是第(D)行1)public class Test{2) public static void main(String[] args){3)int[] arr1 = new int[12];4) char[] arr2 = new char[];5) int[] arr3 = {};6) Object[] obj = new Object[4];7) Object obj1 = new object[9];8) }9)}A.5)B.5) 7)C.4) 7)D.4)20.下列代码的运行结果是(A)public class Test{private int num;private static Test test;public Test(int num){this.num = ++ num;}static{int num = 16;test = new Test(num);++ test.num;}public static void main(String[] args){test = new Test(13);System.out.println(test.num);}}A.14B.15C.16D.17二、填空题(2 * 6 = 12分)1、public interface InterfaceDemo{public static final int__abstract______ void add();}abstract class Demo implements InterfaceDemo{___abstract_____ int getNumber();//抽象方法}class Interfacetest extends Demo{public int getNumber(){return 0;}public void add(){}}2、public class User{private String name;private int age;public String getName(){Return ;}public void setName(String name){ = name;}public int getAge(){Return this.age;}public void setAge(int age){this.age = age;}public boolean equals(Object o){if(__this = = obj___){return true;}if(__obj ==null___){return false;}if(___obj instance of_____){____User user = (User) obj______;return (.equals(other.getName())&&this.age == other.getAge());return fasle;}public int hashCode(){return name.hashCode() >> 20 + age * 1000;}}三、简答题(8 + 8 + 8 = 24分)1.抽象类和接口有什么区别?声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。

相关文档
最新文档