2.Java面向对象知识测试

2.Java面向对象知识测试
2.Java面向对象知识测试

面向对象部分测试题

考试宣言:

同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!

我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!

本套题共40道不定项选择题,其中单选30道,多选10道。单选2分/题,多选4分/题。多选题不全对半分,全对满分。

1.下列说法哪个正确?(C)ABC

A. 一个程序可以包含多个源文件

B. 一个源文件中只能有一个公共类

C. 一个源文件中可以有多个类

D. 一个源文件只能供一个程序使用

2.以下关于Object类说法错误的是( C)。B

A. 一切类都直接或间接继承自Object类

B. 接口也继承Object类//接口都默认具备Object中的方法的抽象形式。

C. Object类中定义了toString()方法

D. Object类在https://www.360docs.net/doc/e7219036.html,ng包中

3.在Java中,多态的实现不仅能减少编码的工作量,还能大大提高程序的可维护性及可

扩展性,下面哪一个选项不属于多态的条件(B )。

A. 子类重写父类的方法

B. 子类重载同一个方法

C. 要有继承或实现

D. 父类引用指向子类对象

4.编译运行如下Java代码,输出结果是( B )D。

class Base {

public void method(){

System.out.print ("Base method");

}

}

class Child extends Base{

public void methodB(){

System.out.print ("Child methodB");

}

}

class Sample {

public static void main(String[] args) { Base base = new Child();

base.methodB();

}

}

A. Base method

B. Child methodB

C. Base method Child MethodB

D. 编译错误

5.下面说法正确的是( ABC )。ABCD

A. final 可修饰类、属性(变量)、方法

B. abstract可修饰类、方法

C. 抽象方法只有方法声明,没有方法体

D. 关键字final和abstract不能同时使用

6.在Java接口中,下列选项中属于有效的方法声明是( AD)。A

A. public void aMethod();

B. final void aMethod();

C. void aMethod(){}

D. private void aMethod();

7.下面说法中错误的是D

A.静态代码块类一加载只执行一次 , 以后再创建对象的时候不执行

B.局部代码块的作用是为了限制变量的生命周期

C. 构造代码块在每创建一次对象就执行一次

D. 以上都不对

8.下面哪些关键字能用来控制对类成员的访问( AC)?ABC

A. public

B. protected

C. private

D. default

9.给定如下Java代码 , 以下( A )方法可以加入Child类中。AB public class Parent{

int change(){

//此处省略N行代码

}

}

Class Child extends Parent{

//(此处可以放入下面哪个选项)

}

A. public int change(){}

B. int show(int i){}

C. private int change(){}

D. abstract int change(){}

10.在Java中,如果父类中的某些方法不包含任何逻辑,并且需要有子类重写,应该使用

( C )关键字来声明父类的这些方法。

A. final

B. static

C. abstract

D. void

11.下面关于变量及其范围的陈述哪些是对的? ( CD )ACD

A. 实例变量(区别于类变量,属于对象的变量)是类的成员变量。//实例变量就是成

员变量

B. 实例变量用关键字static声明。

C. 在方法中定义的局部变量在该方法被执行时创建

D. 局部变量在使用前必须被初始化。

12.给定两个java程序,如下:

public interface Face{

int counter = 40;

}

public class Test implements Face{

private static int counter;

public static void main(String[]args){

System.out.println(++counter);

}

}

Test.java 的编译运行结果是(B)。D

A. 40

B. 41

C. 0

D. 1

13.关于abstract不能和哪些关键字共用正确的是(BC )ABC

A. abstract不可以和private共用

B. abstract不可以和static共用

C. abstract不可以和final共用

D. abstract不可以和public共用

14.Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是( A)。

A. C可以继承B中的公有成员,同样也可以继承A中的公有成员

B. C只继承了B中的成员

C. C只继承了A中的成员

D. C不能继承A或B中的成员

15.给定java程序,如下:

public class Test{

private static final int counter=10;

public static void main(String [] args){

System.out.println(++counter);

}

}

编译运行Test.java,结果是( C)

A. 10

B. 11

C. 编译错误

D. 运行时出现异常

16.给定一个Java程序代码,如下:

public class Test{

int count = 9;

public void count1(){

int count =10;

System.out.println("count1="+count);

}

public void count2(){

System.out.println("count2="+count);

}

public static void main(String args[]){

Test t=new Test();

t.count1();

t.count2();

}

}

编译运行后,输出结果是B

A. count1=9 count2=9

B. count1=10 count2=9

C. count1=10 count2=10

D. count1=9 count2=10

17.按照课堂要求在类中定义构造方法和set方法,关于这两个方法描述错误的是( D )

A. 构造方法是用来创建对象或者初始化成员数据的

B. set方法是为对象中成员变量赋值的

C. 带参构造在创建对象的时候也可以为成员变量赋值

D. 类中的带参构造方法与set方法功能是完全重复的,可以只选其一

18.程序Test.java编译运行后输出的结果是( A )。

public class Test {

String s1="java";

public static void main(String args[]) { int z=2;

Test t=new Test();

System.out.println(t.s1+z);

}

}

A. java2

B.2

C.没有输出结果

D.java

19.用于定义类成员的访问控制权的一组关键字是( D )。

A. class, float, double, public

B. float, boolean, int, long

C. char, extends, float, double

D. public, private, protected

20.给定java代码,如下:编译运行,结果是 C A

public static void main (String [] args){

String s;

System.out.println(“s=”+s);

}

A. 编译错误

B. 编译通过,但出现运行时错误

C. 正常运行,输出s=null

D. 正常运行,输出s=

21.关于类和对象的叙述正确的是:( D )A

A.Java的类分为两大部分:系统定义的类和用户自定义的类

B.类的静态属性和全局变量(成员变量)的概念完全一样,只是表达形式不同 C.编写一个类时,该类成员至少要有一个成员变量和一个成员方法

D.类是对象的实例化//对象是类的实例化

22.给出下面的不完整的类代码

class Person {

String name, department;

int age;

public Person(String n){ name = n; }

public Person(String n, int a){ name = n; age = a; } public Person(String n, String d, int a) {

// 完成Person(String n, int a)的逻辑

department = d;

}

}

下面的哪些表达式可以加到构造方法中的注释处? ( C )

A. Person(n,a);

B. this(Person(n,a));

C. this(n,a);

D. this(name,age);

23.关于对象成员占用内存的说法哪个正确?(B)

A.同一个类的对象共用同一段内存//同一个对象共同占用一段内存

B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间

C.对象的方法不占用内存

D.以上都不对

24.给定Java代码如下所示,则编译运行后,输出结果是( C)。

class Parent {

Int money= 5000;

public void count() {

System.out.println(10%3);

}

}

public class Child extends Parent{

Int money= 10000;

public void count() {

System.out.println(10/3);

}

public static void main(String args[]) {

Parent p = new Child();

p.count();

}

}

A. 1

B. 1.0

C. 3

D. 3.3333333333333335

25.下面关于外部类和内部类成员的相互访问的规则中,正确的选项是( AD )。

A. 内部类可以直接访问外部类的成员

B. 外部类可以直接访问内部类的成员

C. 外部类不能访问内部类的成员

D. 外部类可通过创建内部类的实例来访问内部类的成员

26.查看下面代码:

class A {

public int i = 10;

}

class B extends A{

public int i = 20;

}

public class Test{

public static void main(String args[]){

B b = new B();

A a = b;

System.out.println(b.i);

System.out.println(a.i);

}

}

输出为多少 (D )C

A.10 10

B.10 20

C.20 10

D.20 20

27.在Java接口中定义常量,下面语法正确的是( AB)。ABC

A. static final int MALE = 1;

B. final int MALE = 1;

C. int MALE = 1;

D. private int MALE = 1;

28.在Java语言中,下列关于类的继承的描述,正确的是(BC )。B

A. 一个类可以继承多个父类

B. 一个类可以具有多个子类

C. 子类可以使用父类的所有方法//private修饰的不能

D. 子类一定比父类有更多的成员方法

29.给定如下一个Java源文件Child.java,编译并运行Child.java,以下结果正确

的是( B)。

class Parent1 {

Parent1(String s){

System.out.println(s);

}

}

class Parent2 extends Parent1{

Parent2(){

//super();

System.out.println("parent2");

}

}

public class Child extends Parent2 {

public static void main(String[] args) {

Child child = new Child();

}

}

A. 编译错误:没有找到构造器Child()

B. 编译错误:没有找到构造器Parent1()

C. 正确运行,没有输出值

D. 正确运行,输出结果为:parent2

30.下列说法哪个正确? C

A.不需要定义类,就能创建对象

B.对象中必须有属性和方法

C.属性可以是简单变量,也可以是一个对象

D、属性必须是简单变量

31.给定java代码,如下:

public class Test{

static int i=0;

public int aMethod( ){

i++;

return i;

}

public static void main(String [] args){ Test test = new Test( );

test.aMethod( );

System.out.println(test.aMethod( ));

}

}编译运行后,输出结果是(A )。 C

A. 0

B. 1

C. 2

D. 3

32.下面关于final说法错误的是 (AC )A

A. final修饰的类不可以继承其他类

B. 内部类在访问局部变量的时候,局部变量需要使用final修饰

C. 被final修饰的引用类型变量内部的内容是可以发生变化的

D. final修饰的变量称为常量,这些变量只能赋值一次。

33.给出下面的代码

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(){

// 完成父类代码中printValue()相同的工作

System.out.println("salary is "+salary);

}

}

下面的哪些表达式可以加入printValue()方法的注释部分? D

A. printValue();

B. this.printValue();

C. person.printValue();

D. super.printValue();

34.下面关于匿名对象说法错误的是(B )

A. 匿名对象就是没有名字的对象,创建出来该对象后没有赋值给一个引用

B. 匿名对象调用完方法后还可以继续调用成员变量

C. 可作为实际参数进行传递

D. 可以以下面格式使用匿名对象:new 类名().方法名(参数列表);

35.在java中,以下程序的输出结果是(C )

class Point {

int x;

boolean y;

void output() {

System.out.println(x);

System.out.println(y);

}

public static void main(String[] args) { Point pt =new Point();

pt.output();

}

}

A. 运行错误

B. 0 ture

C. 0 false

D. 0 0

36.下面关于 this和super描述正确的是C

A、都可以用在main()方法中

B、都是指一个对象的内存地址

C、不能用在main()方法中

D、意义相同

37.给定如下Java程序代码,在_____横线处加入(A )语句,可以使这段代码编译通过。

interface Parent{

public int count(int i);

}

public class Test implements Parent {

public int count(int i){

return i % 9;

}

}

public static void main(String[] args){

________________

int i = p.count(20);

}

}

A. Test p = new Test();

B. Parent p;

C. Parent p = new Parent();

D. Test p = new Parent();

38.分析如下Java代码,如果想在控制台上输出“B类的test()方法”,则在主函数应填

入( A)。AD

class A {

public void test() {

System.out.println("A类的test()方法");

}

}

class B extends A {

public void test() {

System.out.println("B类的test()方法");

}

public static void main(String args[]) {

}

}

A. A a = new B();

a.test();

B. A a = new A();

a.test();

C. B b = new A();

b.test();

D. new B().test();

39.下面覆盖与重载的关系,说法正确的是(A)

A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中

B.覆盖方法可以不同名,而重载方法必须同名

C.final修饰的方法可以被覆盖,但不能被重载

D.覆盖与重载是同一回事

40.给定如下 java 代码,以下( AD )访问控制修饰符可以填入下划线处。class Parent{

protected void eat(){

}

}

class Child extends Parent {

_______ void eat(){

}

}

A. protected

B. private

C. 什么也不填

D. public

第4章-Java语言与面向对象作业习题与答案

第4章 Java语言与面向对象作业习题与答案 一、简答题 1.什么是对象?什么是类? 对象是一种抽象数据类型。它包含了事物的静态特征(属性)和动态特征(行为)两大特征。 类是一组同种对象的集合与抽象。即是具有相同属性和方法的一组对象集合。 2.Java语言的单继承是指什么? 一个类可以派生出多个子类,但子类只允许有一个父类,而不允许存在多个父类。 3.在一个共有类中的数据成员及方法成员的访问控制符为缺省,则这个类可供什么样的包引用? 当一个类的访问控制符为public共有时,表明这个类作为整体对其它类是可见和可引用的;但其数据成员和方法成员访问控制符为缺省时,它们只能被包中类(含当前类)引用。 4.抽象类的用途 (1)设计在更高的层次上进行,不考虑具体对象,从而大大简化了处理问题的复杂性; (2)设计出的类也具有更加良好的可扩展性。 5.什么是非静态的成员变量? 非静态成员即为实例成员变量(没有加static修饰的变量)。 6.异常Exception和错误Error有什么不同?Java如何处理它们? 答:错误通常是指程序本身存在非法情形,常常是因为代码存在问题而引起的,如造成系统崩溃、虚拟机粗错、动态失败等,这一类错误无法恢复或不可能捕获,并将导致应用程序中断。 异常表示另外一种“非同寻常”的错误。这种错误通常是不可预测,但可以被捕获且可以恢复。常见的异常情况包括存不足、找不到所需文件等。 对于错误,编程人员可以通过对程序进行更仔细的检查,以避免这种错误。 对于异常,可以使用捕获机制进行捕获,再编写出相应的处理程序。 7.简单述Java的异常处理机制。 答:Java采取“抛出—捕获”的方式,一旦一个异常想象产生,Runnable环境和应用程序会抛出各种标准类型和自己定义的异常,系统就可以捕获这些异常,并一定有相应的机制来处理它,确保不会产生司机、死循环或其它对操作系统的损害,从而保证了整个程序运行的安全性。 8.简单述throw语句和throws关键字之间的差别。 答:throw语句是在一个方法中用来直接抛出异常对象,其格式是: throw 异常对象; throws关键字是用一个方法声明首部,用来指出这个方法中可能产生若干种异常,其格式:[方法修饰符] 返回类型方法名(参数表)throws 异常类型表 { /*方法体*/ } 二、填空题 1.所有Java应用程序都必须包含的一个类方法是 main() 。 2.面向对象程序设计语言的三种重要特性是封装性、继承性和多态性。

《Java面向对象编程》期末考试试卷A卷

第 1 页,共 1 页 学校 班级 学号 姓名______________________ ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆装◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆订◆◆◆◆◆◆◆◆◆◆◆◆◆线◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ 淄博职业学院2013-2014学年第一学期 《Java 面向对象编程》期末考试试卷A 卷 使用班级:P12软件2班 命题教师:李敬文 考核方式:开卷上机考试 考试时间:100分钟 说明:上交文件夹名称或者压缩文件名称为姓名+学号(2位),如:张三06 一、 编程题:本题共1题,共30分。 实现程序Exam01 1.具体参考界面如下,具体要求: 2.完成按钮打开事件,能够对所选文件的内容读取到文本域中; 3.完成按钮复制事件,能够将源文件复制目标文件中; 4.完成按钮退出事件,能够退出应用程序。 二、 编程题:本题共1题,共30分。 实现程序Exam02 设计一个模拟银行存款和取款的程序,能够实现存款(存入数据小于1000的随机数),能够实现取款(取款小于1000的随机数),要求取款时,输出存款数、余额数,当余额小于0时,输出“余额不足,正在等待存款……”,当存款时,输出存款数、余额数。 三、编程题:本题共1题,共40分 实现记事本程序Exam03 1.具有菜单功能,包括:文件,编辑、帮助; 2.文件菜单中有子菜单:新建、打开、保存、分隔线、退出; 3.编辑菜单中有子菜单:剪切、复制、粘贴; 4.实现菜单功能:新建功能--->>能够新建一个子窗体;打开功能--->>打开一个文件,并显示内容;剪切功能--->>实现对选定文本的剪切功能;复制功能--->>实现对选定文本的复制功能;粘贴功能--->>实现对选定文本的粘贴功能。 题号 一 二 三 四 …… 总分 应得分 100 实得分 得分 阅卷人 得分 阅卷人 得分 阅卷人

(完整版)面向对象软件测试技术研究

面向对象软件测试技术研究 一、引言 软件测试是伴随着软件的产生而产生的。软件危机的频繁出现促使了软件测试的地位得到了大幅提升。软件测试已经不仅仅是局限于软件开发过程中的一个阶段,它已经开始贯穿于整个软件开发过程,成为软件产品质量控制与质量管理的重要手段之一。 软件测试技术作为软件工程学科的一个分支,是保证软件质量和可靠性的关键,因此它也是软件开发过程中的一个重要环节。它的核心思想是:对于输入域的特定输入,观察软件的执行结果,验证该结果与期望结果是否一致,然后根据结果作相应的和调整。在测试过程中,测试用例的选择决定测试的有效性,这也就直接影响到成本,是软件测试的关键和难点。目前,软件测试技术的发展还不是很成熟,测试人员在选择测试用例时通常根据直觉和经验进行,给测试带来很大的盲目性,最终导致的后果是使软件后期维护的费用在成本中居高不下。科学生成测试用例对提高软件质量不仅重要而且必要。 随着面向对象软件开发技术的广泛应用和软件测试自动化的要求,特别是基于的软件开发技术的逐渐普及,基于模型的软件测试逐渐得到了软件开发人员和软件测试人员的认可和接受。它是一种新兴的测试用例生成技术。有优于以前的测试技术的方面。其中模型以其定义良好、功能强大、普遍适用的优点,为基于模型的测试提供了非常好的契机。 二、面向对象特征对软件测试的影响 面向对象技术是一个全新的开发模式,具有以下特点: (1)它要综合考虑软件开发过程所有阶段。 (2)在软件开发的整个生存周期中,每个阶段之间是连续的。 (3)开发过程分为面向对象分析(00A)、面向对象设计(OOD)、面向对象编程(OOP)、面向对象测试(OOT)四个连续的部分。 Coad和Yourdon给面}向对象的概念下了一个定义: 面向对象=对象+类+继承+通信 如果一个软件系统是使用这样4个概念设计和实现的,则认为这个软件系统是面向对象的。一个而向对象的程序的每一个组成部分都是对象,计算是通过对象和对象之间的通信来执行的。 面向对象技术的本质是定义了类的抽象,将变量和与作用于它的操作封装到一块。然后用不同的类和方法组合成一个对象系统。面向对象软件将传统软件中的一个过程或一个方法内的复杂性转移到对象之间的交互中。面向对象语言一些本质特征形成了如下的一些新的故障、错误风险。

JAVA面向对象基础测试题

读书破万卷下笔如有神 JAVA面向对象基础测试题 提示:本题为第一阶段,JAVA面向对象基础部分练习题,包括对象,类,继承,封装,多态,接口,内部类等等,java核心基础,适合初学者对面向对象基础的知识进行测试,以便查漏补缺。 1. 程序执行的结果是:()。 01 public class Point{ 02 int y = 7; 03 public void step(int y) { 04 y += y; 05 System.out.println(y); 06 读书破万卷下笔如有神 } 07 public static void main(String[] args) {

08 Point p = new Point(); 09 p.step(10); 10 } 11 } A.14 B.20 C.10 D.17 正确答案:B解析: 2. 读书破万卷下笔如有神 程序的执行结果是:()。 01 public class Question { 02 private int num; 03 public static void main(String [] args){ 04

Question q = new Question(); 05 q.num=13; 06 update(q); 07 System.out.println(q.num); 08 } 读书破万卷下笔如有神 09 public static void update(Question q){ 10 q.num=9; 11 } 12 } A.13 B.9 C.0 D.4

正确答案:B解析: 3. 程序执行的结果是:()。 01 public class Answer { 读书破万卷下笔如有神 02 public static void main(String[] args) { 03 int score = 20; 04 Answer ans= new Answer(); 05 ans.add(score); 06 System.out.println( main:score = + score); 07 } 08 void add(int score) { 09 System.out.println( add:score= + score++); 10

面向对象程序设计(JAVA)期末考试试卷(A卷)

面向对象程序设计 (J A V A)期末考试试卷 (A卷) -CAL-FENGHAI.-(YICAI)-Company One1

课程代码: 座位号: 新疆大学20 -20 学年度第二学期期末考试 《面向对象程序设计》试卷 姓名: 学号: 专业: 学院: 班级: 20 年 月 日 一、单选题(10小题,共10分) 1.下列 选项中,用于在定义子类时声明父类名的关键字是 【 】 A .interface B . package C . extends D . class 2.在以下哪种情况下可以获得缺省构造器 【 】 A .当作任何类的定义时 B .当类没有其它构造器时 C .当定义至少一个构造器的时 D .从不需要 3.如果局部变量和成员变量同名,如何在局部变量作用域内引用成员变量【 】 A .不能引用,必须改名,使它们的名称不相同 B .在成员变量前加this ,使用this 访问该成员变量 C .在成员变量前加super ,使用super 访问该成员变量 D .不影响,系统可以自己区分 4.在异常处理中,如释放资源、关闭文件、关闭数据库等由哪个子句来完成【 】 A .try 子句 B .catch 子句 C .finally 子句 D .throw 子句 5.下面哪个流类属于面向字符的输入流 【 】 A .BufferedWriter B .FileInputStream C .ObjectInputStream D .InputStreamReader 6.在Java 中,由Java 编译器自动导入,而无需在程序中用import 导入的包是 【 】。 A .java.applet B .java.awt C .java.util D .https://www.360docs.net/doc/e7219036.html,ng

java面向对象考试题-练习版

JAVA面向对象结课考试题 班级_______ 姓名________得分___________ 1下列程序编译或运行的结果是。() public static void main(String args[]){ int a = 10, b,c; if(a>50){ b=9; } c = b + a; System.out.println(c); } A.10 B. 19 C.9 D.编译错误 2、已知’1’的ascii码值为31下列语句片段中,four 的值为( ) int three = 3; char one = ‘1’; char four = (char)(three+one); A. 3 B. 1 C. 31 D. 4 3、下列代码的运行结果是( ) public static void main(String[] args){ int a = 7; System.out.println(a%3); } A 6 B 2 C 5 D 1 4、以下程序的输出结果为( )。 public static void main(String[]args) { int x = 1, y = 1, z =1; if(x--==1&&y--==1||z--==1) System.out.println(“x=” +x+”,y=” +y+”,z=” +z); } A x=0, y=1,z=1 B x=0,y=2,z=2 C x=0,y=2,z=1 D x=0,y=0,z=1 5、下列代码段编译和运行的结果是() public static void main(String args[]){ String str = “null”; if(str==null){ System.out.println(“null”); }else if(str.length()==0){ System.out.println(“zero”); }else { System.out.println(“some”); } } A null B zero C some D 编译错误6、下列代码的运行结果是(): public class Animal{ public String noise(){ return “peep”; } public static void main(String[] args){ Animal animal = new Dog(); Cat cat = (Cat)animal; System.out.println(cat.noise()); } } class Dog extends Animal{ public String noise(){ return “bark”; } } class Cat extends Animal{ public String noise(){ return “meow”; } } A. peep B.bark C.meow D.编译错误 E.抛出运行时异常 7、关于下列代码说法正确的是( ) public class Foo{ public int add(int a,int b){ return a+b; } public static void main(String[] args){ Foo foo= null; System.out.println(foo.add(10,20)); } } A. 编译错误 B. 正常运行,但无结果输出 C.30 D NullPointerException 8、程序的执行结果是( ) public class Test{ int x; public static void change(Test t){ t.x = 3; } public static void main(String[] args){

面向对象程序设计java语言程序设计期末考试试题及部分答案

《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案2 一、单选择题(每小题2分,共10分) 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。 A. .java B. .class C. .html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( A )。 A. 3 B. 3. 5 C. 4 D. 5 3、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作。 A. start( ) B. stop( ) C. init( ) D. paint( ) 4、不允许作为类及类成员的访问控制符的是( C )。 A. public B. private C. static D. protected 5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 二、填空题(每空格1分,共20分) 1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码、和解释运行字节码。 2、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是Applet、类的子类并且存储该源程序文件的文件名为MyApplet。 3、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器javac.exe编译该源程序文件将产生3 个文件名与类名相同而扩展名为. class的字节码文件。

Java面向对象测试试题

《使用Java实现面向对象编程》阶段测试-笔试试卷 一、选择题(共25题,每题4分,满分100分) 1) 在Java类中,使用以下()声明语句来定义公有的int型常量MAX。 A. public int MAX = 100; B. final int MAX = 100; C. public static int MAX = 100; D. public static final int MAX = 100; 2) 在Java中,下列关于方法重载的说法中错误的是()。 A. 方法重载要求方法名称必须相同 B. 重载方法的参数列表必须不一致 C. 重载方法的返回类型必须一致 D. 一个方法在所属的类中只能被重载一次 3) 给定Java代码如下所示,在横线处新增下列()方法,是对cal方法的重载。 public class Test{ public void cal(int x, int y, int z) {} } A. public int cal(int x, int y, float z){ return 0; } B. public int cal(int x, int y, int z){ return 0; } C. public void cal(int x, int z){ } D. public void cal(int z, int y, int x){ } 4) 在Java中,下面对于构造函数的描述正确的是()。 A. 类必须显式定义构造函数 B. 构造函数的返回类型是void C. 构造函数和类有相同的名称,并且不能带任何参数 D. 一个类可以定义多个构造函数

面向对象期末测试题(带答案).doc

济南大学2009~2010 学年第二学期课程考试试卷 课 程 java 面向对象程序设计 授课教师 考试时间 考试班级 学 号 姓 名 … … …… …… …………………………装……………… …………订………………… …… …线 …… …… …… … …… …… …… …… …

C.一个if语句只能有一个else if语句与之对应 D.else if结构中必须有default语句 5.while循环和do…while循环的区别是:(D) A.没有区别,这两个结构任何情况下效果一样 B.while循环比do…while循环执行效率高 C.do…while循环执行次数可能为0 D.while循环执行次数可能为0 6.关于for循环和while循环的说法哪个正确?(B) A.while循环先判断后执行,for循环先执行后判断。 B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换 D.两种循环结构中都必须有循环体,循环体不能为空 7.下列修饰符中与访问控制无关的是(D) A.private B.public C.protected D.final 8.方法内的形参:(B) A.必须定义多个形参B.可以没有 C.至少有一个D.只能是简单变量 9.throws的作用:(A) A.表示方法可能会抛出例外 B.表示后面是方法的输出量 C.方法的标志,每个方法都必须有 D.没有意义 10.在Java语言中,整型常量123占用的存储字节数是:(C)A.1B.2 C.4 D.8 11.关于对象成员占用内存的说法哪个正确?(B) A.同一个类的对象共用同一段内存 B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间

Java面向对象测试试题(经典)

《使用实现面向对象编程》阶段测试-笔试试卷 一、选择题(共25题,每题4分,满分100分) 1) 在类中,使用以下()声明语句来定义公有的型常量。 A. = 100; B. = 100; C. = 100; D. = 100; 2) 在中,下列关于方法重载的说法中错误的是()。 A. 方法重载要求方法名称必须相同 B. 重载方法的参数列表必须不一致 C. 重载方法的返回类型必须一致 D. 一个方法在所属的类中只能被重载一次 3) 给定代码如下所示,在横线处新增下列()方法,是对方法的重载。 { ( x, y, z) {} } A. ( x, y, z){ 0; } B. ( x, y, z){ 0; } C. ( x, z){ }

D. ( z, y, x){ } 4) 在中,下面对于构造函数的描述正确的是()。 A. 类必须显式定义构造函数 B. 构造函数的返回类型是 C. 构造函数和类有相同的名称,并且不能带任何参数 D. 一个类可以定义多个构造函数 5) 下面代码的运行结果是()。 { ; 名字 0; 健康值 ; 性别 () { = 10; = "雄"; ("执行构造方法。"); } () { ("企鹅的名字是" + + ",健康值是" + + ",性别是" + "。"); } ([] ) { = (); (); } } A. 企鹅的名字是,健康值是10,性别是雄。 B. 执行构造方法。

企鹅的名字是,健康值是0,性别是。 C. 企鹅的名字是,健康值是0,性别是。 D. 执行构造方法。 企鹅的名字是,健康值是10,性别是雄。 6) 下列选项中关于中封装的说法错误的是()。 A. 封装就是将属性私有化,提供公有的方法访问私有属性 B. 属性的访问方法包括方法和方法 C. 方法用于赋值、方法用于取值 D. 类的属性必须进行封装,否则无法通过编译 7) 使用实现封装,第一步是修改属性可见性来限制对属性的访问,第二步是创建赋值和取值方法,用于对属性的访问,第三步应该是()。 A. 使用赋值和取值方法访问属性 B. 编写常规方法访问属性 C. 在赋值和取值方法中,加入对属性的存取限制 D. 编写方法创建对象,调用赋值和取值方法访问属性 8) 分析如下所示的代码,其中关键字的意思是()。 { ; () { ;

面向对象技术java期末复习试卷

期末复习试卷(三) 一、单项选择题 1、有一段java应用程序,其中包含一个公共类,名字为TestStudent,那么保存它的 源文件名是() A. B. teststudent .class C. D. 正确答案:C 解析:一个java文件中可以包含多个类,但最多只能有一个类是公共类(public),该java文件的名字要与公共类的一致。 2、关于下面的代码,哪个描述是正确的 public class Test{ public static void main(String[] args){ Integer n1 = new Integer(3); Object n2 = new Integer(4); } } A. 可以编译通过,可以运行,并得到预期结果。 B. 可以编译通过,可以运行,但不能得到预期结果。 C. 可以编译通过,但又运行错误。 D. 有编译错误。 正确答案:D 解析:Integer类是基本数据类型int的包装类,里面封装了一个int类型的值,

提供了一些实用的方法(例如:在JavaFX中读取文本框内容是String类型的,如果要转换成int类型,就要调用Integer类的parseInt()方法)并实现了Comparable接口,在Comparable接口中定了抽象方法compareTo(T o), T是泛型,对于Integer类,T 被替换为Integer,如下图: 因此,Integer类中compareTo()方法的定义如下: 因此,compareTo的参数只能是Integer类型的,所以代码中的下面语句中的n2的类型需要进行强制类型转换,由Object转为Integer: 正确写法如下: n2)); 类似的包装类还有Long\Float\Double\Char\Boolean等,都是将基本数据类型包装为类。 3、下面哪种类型不是引用数据类型() A. 数组 B. char C. String D. Object 正确答案:B 解析:基本数据类型只是存放数据,不提供功能(即方法)包括4类八种: 布尔类型:boolean 字符类型:char

面向对象程序设计(JAVA)期末考试试卷(A卷)

** 《面向对象程序设计》试题第1页(共8页)

…… } A. 该类能调用new abstractClass(),方法实例化为一个对象 B. 该类不能被继承 C. 该类的方法都不能被重载 D. 以上说法都不对 8.已知有下面类的说明: public class X5_1_1 extends x{ private float f =10.6f; int i=16; static int si=10; public static void main(String[] args){ X5_1_1 x=new X5_1_1(); } } 在main()方法中,下面哪条语句的用法是正确的?【】 A.x.f B.this.si C.X5_1_1.i D.X5_1_1.f 9.下列说法中,错误的一项是【】 A.Thread类中没有定义run()方法B.可以通过继承Thread类来创建线程C.Runnable接口中定义了run()方法D.可以通过实现Runnable接口创建线程 10.当一个Statement对象要执行一个查询类的SQL语句,调用的方法是【】 A. executeQuery B.execute C. executeUpdate https://www.360docs.net/doc/e7219036.html,mit 二、填空题(10小题,共10分) 1.Java应用程序中有多个类时,java命令后的类名必须是包含了___________ 方法的那个类的名字。 2.使用关键字修饰的代码,称为同步代码段 3.对象创建完后,通过使用运算符“ . ” , 对象可以实现对变量的访问和____________的调用。4.Java中的非字符输出流都是抽象类____________的子类。 5.Java语言使用___________类及其子类的对象来表示线程 6.可以使用String类的__________方法比较一字符串是否与字符串s相同。 《面向对象程序设计》试题第2页(共8页)

JAVA面向对象编程测试题

Java 面向对象 一、单选: (1)在JDK1.5.0 安装目录下的bin 文件夹中,下面哪个程序是Java 执行器 (B) A )Javac.exe B )java.exe C)jdb.exe D )javah.exe E)javadoc.exe (E) (2)在JDK1.5.0 安装目录下的bin 文件夹中,下面哪个程序能生成Java 参考文档 A )Java.exe B )javac.exe C)appletviewer.exe D)javah.exe E)javadoc.exe (3)下列数据类型不属于整型的是 (E) A )byte 类型 B )short 类型 C)int 类型 D )long 类型 E)float 类型 (4 )精确保存一个值为“53.21458961”需要用什么数据类型 ( D) A )int 类型 B )long 类型 C)String 类型 D )double 类型 E)以上都可以 (5)循环语句for(int i=0。i<4。i++){}循环的次数为 (D) A )无限次 B )不确定 C)1 次 D )3 次 E)4 次 (6)若i、j 为已定义的整型,下面程序段中循环体执行的次数为 (B) for(i=0。i<5。i++){ for(j=0。j<=i。j++){ } } A )不确定 B )5 次 C)15 次 D )25 次 E)无限次 (7)执行下列程序段后,j 的值变为 (E) int i=1。 int j=10。 do{ j-=i。 i++。 }while(j--<0)。 A )9 B)10 C)-1 D)-2 E)8 (8)执行下列程序段后,y 的值变为 (E) int x,y。 for(y=1,x=1。y<=50。y++){ if(x>=10){

面向对象的软件测试

本科生课程论文---文献综述 题目:面向对象的软件测试 姓名: 学号: 学院:软件学院 专业:软件工程 年级:2010 教师:王灿辉 2013年05月20日

面向对象的软件测试 摘要:软件测试在整个软件项目开发过程中有着举足轻重的地位,测试技术的发展对于缩短测试周期、降低成本、提高质量都有着十分重要的意义。本文介绍了软件测试的关键技术,并对面向对象软件测试技术进行了简单的研究,讨论了面向对象软件测试的测试策略、方法及测试技术。随着软件产业的发展, 市场对软件质量的不断提高,软件测试不断受到重视。几乎每个中大型IT企业的产品在发布前都需要大量的质量控制、测试和文档工作。软件测试的重要性已成为企业生存与发展的核心。 关键词:软件质量性能测试软件测试面向对象 1软件测试的概念 1.1什么是软件测试 软件测试就是在软件投入运行之前,对软件需求分析、设计规格说明和编码实现的最终审查,他是软件质量保证的关键步骤。通常对软件测试的定义有两种描述:定义1:软件测试是为了发现错误而执行程序的过程。 定义2:软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例运行程序以及发现错误的过程,即执行测试步骤。 1.2软件测试的意义 软件测试的意义在于保证软件产品的最终质量,在软件开发的过程中,对软件产品进行质量控制。一般来说软件测试应由独立的产品评测中心负责,严格按照软件测试流程,制定测试计划、测试方案、测试规范,实施测试,对测试记录进行分析,并根据回归测试情况撰写测试报告。测试是为了证明软件有缺陷,从而加以改正,而不是保证软件没有缺陷,缺陷是软件与生俱来的。 1.3软件测试技术的发展趋势 我国的软件测试仍处于原始的初期,由于种种原因,我国的软件生产尚处于原始的“小作坊”型,离软件工程的需要,即实行工程化管理,用工业化,自动化的方法生产软件还有很大的距离。软件测试更是属于原始时期的初期,即程序员凭自己的经验对程序进行调试。因此,以普遍情况而言,我国目前尚无真正意义上的“测试”,这将大大影响高质量软件产品的推出和软件产业的形成。国外的软件测试,自从上世纪90年代末出现软件工程以来,软件测试工程作为一个专门的领域得到了发展。七十年代开始,软件测试职业化水平明显增长。在一些机构,已对多个测

面向对象程序设计(JAVA)期末考试考试卷(A卷)

课程代码:座位号: 大学20 -20 学年度第二学期期末考试 《面向对象程序设计》试卷 : 学号: 专业: 学院: 班级: 20 年月日 一、单选题(10小题,共10分) 1.下列选项中,用于在定义子类时声明父类名的关键字是 【】 A.interface B. package C. extends D. class 2.在以下哪种情况下可以获得缺省构造器? 【】 A.当作任何类的定义时 B.当类没有其它构造器时 C.当定义至少一个构造器的时 D.从不需要 3.如果局部变量和成员变量同名,如何在局部变量作用域引用成员变量?【】 A.不能引用,必须改名,使它们的名称不相同 B.在成员变量前加this,使用this访问该成员变量 C.在成员变量前加super,使用super访问该成员变量 D.不影响,系统可以自己区分 4.在异常处理中,如释放资源、关闭文件、关闭数据库等由哪个子句来完成【】 A.try子句B.catch子句 C.finally子句 D.throw子句 5.下面哪个流类属于面向字符的输入流【】 A.BufferedWriter B.FileInputStream C.ObjectInputStream D.InputStreamReader 6.在Java中,由Java编译器自动导入,而无需在程序中用import导入的包是【】。 A.java.applet B.java.awt C.java.util D.https://www.360docs.net/doc/e7219036.html,ng 7.下面程序定义了一个类,关于该类说确的是【】

Abstract class abstractClass{ …… } A. 该类能调用new abstractClass(),方法实例化为一个对象 B. 该类不能被继承 C. 该类的方法都不能被重载 D. 以上说法都不对 8.已知有下面类的说明: public class X5_1_1 extends x{ private float f =10.6f; int i=16; static int si=10; public static void main(String[] args) { X5_1_1 x=new X5_1_1(); } } 在main()方法中,下面哪条语句的用法是正确的?【】A.x.f B.this.si C .X5_1_1.i D.X5_1_1.f 9.下列说法中,错误的一项是【】 A.Thread类中没有定义run()方法 B.可以通过继承Thread类来创建线程 C.Runnable接口中定义了run()方法 D.可以通过实现Runnable接口创建线程 10.当一个Statement对象要执行一个查询类的SQL语句,调用的方法是【】 A. executeQuery B.execute C. executeUpdate https://www.360docs.net/doc/e7219036.html,mit 二、填空题(10小题,共10分) 1.Java应用程序中有多个类时,java命令后的类名必须是包含了___________ 方法的那个类的名字。 2.使用关键字修饰的代码,称为同步代码段 3.对象创建完后,通过使用运算符“ . ” , 对象可以实现对变量的访问和____________的调用。 4.Java中的非字符输出流都是抽象类____________的子类。

java面向对象练习题

java面向对象练习题 1定义了一个函数来接收一年并确定它是否是闰年什么是闰年?可以除以4而不是100,或者可以除以400,那么今年是闰年 2年,使用do-while重写猜谜游戏(希望比老师更完美) 3定义了一个接收数组的函数,找到数组中的最大值,并计算数组中所有奇数的和4定义一个函数来接收数组,并将数组中元素的最大值放在数组的第一个位置练习5:输出1-150个奇数并计数 6练习:计算1-100的和。奇数和偶数是什么?练习7:用“边做边做”来计算1到100之间的偶数练习8:用边做边猜数字的游戏9打印99 10的乘法计算1-100个奇数的和 11定义一个函数来执行加法函数操作,而不向调用者返回值 12要求:定义一个函数来比较两个数字的大小,并将最大的数字返回给呼叫者要求:定义一个函数,根据学生的分数将相应的分数返回给调用者。 14要求:定义一个函数做加法函数,直接打印,不需要返回结果给调用者要求1:定义一个函数来接收数组并取出数组中的最大值 16要求2:定义一个接收数组的函数,并将数组中的最大值放在数组的第一个位置17要求3:定义一个接收数组的函数,并将数组中的最大值放在数组的最后一个位置定义一个函数来接收数组并翻转数组中的元素例如:国际[] arr = {1,2,3,4}-{4,3,2,1 }; 19练习:定义接收二维数组的函数,计算二维数组中所有元素的和,并计算奇数

XXXX年龄的方法 29练习:首先编写一个Person类,并计算创建Person的对象的数量练习:描述一种动物。鸟类和动物有名字和年龄属性,而且会移动。鸟类也有名称、年龄、颜色、属性和移动行为。31定义接收无序数组的方法。要对数组进行排序,请使用二分法来查找指定的元素 32描述了三种类型的汽车,宝马和奔驰,它们都有颜色、名称它还具有运行功能定义一个方法可以接收任何汽车对象,定义一个方法可以返回任何汽车对象描述动物、蛇、鱼和三类。编写一个可以接收任何动物对象的方法,定义一个可以接收任何动物类型对象 的方法,并调用该动物类型对象的特定方法34动物、狗和鱼的描述。动物有名字和颜色两种属性,动物有移动的行为。 199狗的一个独特方法是咬人。鱼特有的行为:吹泡泡 35练习:描述三类图形,矩形和圆形。每张图表都有计算面积和周长的方法。 清楚地描述了三类之间的关系 36描述了一类学生,它有两个属性id和name。学生有学习行为功能,但有些学生也在学习过程中赚钱。普通学生:不能通过学习赚钱的学生 可以通过学习赚钱的学生 37描述了图形、矩形、圆形和三个类。定义接收所有图像对象并打印图形对象的周长和面积的方法。定义一个返回任何图形对象的方法38描述了三类汽车,宝马和奔驰。汽车有颜色和名称它还具有运行

面向对象技术Java-期末复习试卷(四)

期末复习试卷(四) 一、单项选择题 1、关于静态变量的概念,下列哪一个正确 A. 一旦一个静态变量被分配,它的值就不允许改变. B. 一个静态变量在方法中被创建,它在被调用前保留上一次调用的结果. C. 在任意多个类的实例中,它们共享类定义的静态变量 D. 在任意多个类的实例中,它们各有自己的静态变量. 正确答案:B 2、选出下面不能作为void Med(int x)方法重载的声明。 A. void Med (double y) B. int Med (int y) C. double Med (int x, int y) D. public float Med (float x) 正确答案:B 3、下列哪一个不正确 A. 一个抽象类必须定义抽象方法. B. 定义了抽象方法的类必定是抽象类. C. 一个接口中,定义的每一个方法必须是抽象方法. D. 一个接口中,定义的每一个成员变量必须是常量. 正确答案:A 4、Circle是GeometricObject的子类。如果有语句:Circle circle = new Circle(1);GeometricObject object = new GeometricObject();那么下面哪个布尔表达式的值为false? A. (circle instanceof GeometricObject) B. (object instanceof GeometricObject)

C. (circle instanceof Circle) D. (object instanceof Circle) 正确答案:D 5、下列关于变量的叙述哪个是错的? A. 实例变量是类的成员变量 B. 实例变量用关键字static声明 C. 在方法中定义的局部变量在该方法被执行时创建 D. 局部变量在使用前必须被初始化 正确答案:B 二、程序题 1、编写一个应用程序,模拟机动车的加速和减速功能。机动车类Vehicle的UML图如 下,其中speedUp()方法实现加速功能,速度上限为240 km/h;speedDown()实现降速功能,下限为0 km/h。 解题要求:编写测试程序,创建Vehicle对象,设置初始速度为100 km/h,调用speedDown()方法减速5 km,再调用speedUp()方法提速10 km,输出车辆的最终速度。

面向对象的软件测试策略研究(转)

面向对象的软件测试策略研究 发布时间: 2010-12-17 13:54 作者: 赵蔷欧阳宏基 软件测试是保证软件质量的一个重要手段随着面向对象技术在软件工程中日益推广和使用.传统的结构化测试技术和法受到了极大的冲击面向软件测试技术是新兴的软件测试技术.是专门针对使用面向对象技术开发的软件而提出的一种测试技术.是面向对象软件开发中的不可缺少的一环.已成为保证面向对象软件质量、提高其可靠性的关键。本文主要研究了面向对象技术的特点对测试的影响.提出面向对象软件测试的策略。 1、测试面向对象软件的特殊性 和传统的开发技术相比.面向对象开发技术新增了多态、继承、封装等特点,极大地优化了数据使用的安全性.捉高了代码的重用率.是面向对象开发技术产生巨大吸引力的重要因素而另~方面也影响了软件测试的方法和内容.增加了软件测试的难度.带来了传统软件设计技术所不存在的错误从程序的组织结构方面来讲.传统软件测试技术与过程式程序中数据和操作相分离的特点相适应.是从输入/处理/输出的角度检验一1、函数或过程能否正确工作面向对象程序设计把程序看作是相互协作而又彼此独立的对象的集合在面向对象程序中,对象是属性(数据)和方法(操作)的封装体。每个对 象就像一个传统意义上的小程序.有自己的数据、操作、功能和目的。因此,传统的测试技术必须经过改造才能用于面向对象软件的测试.同时.还需要研究专门针对面向对象软件、适应面向对象软件特定的测试理论和技术 2、面向对象技术的特点及其对测试的影响 与传统的程序相比.面向对象程序设计是一种全新的软件开发技术,面向对象程序的封装性、继承性、动态绑定等特性使程序具有较大的灵活性.给软件测试提出了新的要求.使得面向对象软件的测试更加复杂 2.1 信息隐蔽对测试的影响 类的重要作用之一就是信息隐蔽.它对类中所封装的信息的存取进行控制.从而避免类中有关实现细节的信息被错误使用。而这样的细节性信息正是软件测试所不可忽略的。由于面向对象的软件系统在运行时刻由一组协调工作的对象组成.对象具有一定的状态,在工作过程中对象的状态可能被修改.产生新的状态。所以对于面向对象的程序测试.对象的状态是必须考虑的因素。面向对象软件测试的基本工作就是创建对象.向对象发送一系列信息后检查结果对象的状态.看其是否处于正确的状态。而对象的状态往往

Java面向对象测试题

Java面向对象 测试题(一) 注: 测试时间:3小时 编程题在电脑上编写,保存在已学生名字为文件名的文件夹中 一、选择题 (共30分,每题1分<多选、少选、错选不得分>) 1、下面有关Java异常处理模型的说法错误的是()。

a)一个try块只能有一条catch语句 b)一个try块中可以不使用catch语句 c)Catch块不能单独使用,必须始终与try块在一起 d)Finally块不能单独使用,必须始终与try块在一起 2、下列选项中关于Java中super关键字的说法错误的是()。 a)super关键字是在子类对象内部指代其父类对象的引用 b)super关键字不仅可以指代子类的直接父类,还可以指代父类 的父类 c)子类可以通过super关键字调用父类的方法 d)子类可以通过super关键字调用父类的属性 3、下列选项中关于Java中this关键字的说法错误的是()。 a)this是在对象内部指代对象自身的引用 b)this关键字可以在类中的任何位置使用 c)this只和特定的对象关联,而不和类关联 d)同一个类的不同对象有不同的this 4、在Java中,Object类是所有类的父亲,用户自定义类默认扩 展自Object类,下列选项中的()方法不属于Object类的方法。 a)equals(Object obj) b)getClass() c)toString() d)trim()

5、给定如下Java代码,关于super的用法,以下描述正确的是 ()。 class C extends B{ public C(){ super(); } } a)用来调用类B中定义的super()方法 b)用来调用类C中定义的super()方法 c)用来调用类B的无参构造方法 d)用来调用类B中第一个出现的构造方法 6、在Java中,有如下两个类Student和Person。如果Student 是Person的子类,则下列声明对象x的语句中错误的是()。 a)Person x = new Student() b)Person x = new Person() c)Student x = new Person() d)Student x = new Student() 7、下列对Java中的继承描述错误的说法是()。 a)子类至少有一个基类 b)子类可作为另一个子类的基类

相关文档
最新文档