面向对象笔试题(2)课案
笔试题及答案
笔试题及答案(二)(总10页) --本页仅作预览文档封面,使用时请删除本页--一.选择题(共50题,每题2分,共100分。
多选题选不全或选错都不得分。
) 1.以下属于面向对象的特征的是(C,D)。
(两项)A) 重载B) 重写C) 封装D) 继承2.以下代码运行输出是(C)public class Person{private String name=”Person”;int age=0;}public class Child extends Person{public String grade;public static void main(String[] args){Person p = new Child();}}A) 输出:PersonB) 没有输出C) 编译出错D) 运行出错3.在使用super 和this关键字时,以下描述正确的是(A)A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过B) super()和this()不一定要放在构造方法内第一行C) this()和super()可以同时出现在一个构造函数中D) this()和super()可以在static环境中使用,包括static方法和static语句块4.以下对封装的描述正确的是(D)A) 只能对一个类中的方法进行封装,不能对属性进行封装B) 如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用C) 封装的意义不大,因此在编码时尽量不要使用D) 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性5.以下对继承的描述错误的是(A)A) Java中的继承允许一个子类继承多个父类B) 父类更具有通用性,子类更具体C) Java中的继承存在着传递性D) 当实例化子类时会递归调用父类中的构造方法6.以下程序的运行结果是(D)class Person{public Person(){is a Person”);}}public class Teacher extends Person{private String name=”tom”;public Teacher(){is a teacher”);super();}public static void main(String[] args){Teacher teacher = new Teacher();}}A) this is a Personthis is a teachertomB) this is a teacherthis is a PersontomC) 运行出错D) 编译有两处错误7.以下说法错误的是()A) super.方法()可以调用父类的所有非私有方法B) super()可以调用父类的所有非私有构造函数C) super.属性可以调用父类的所有非私有属性D) this和super关键字可以出现在同一个构造函数中8.以下关于final关键字说法错误的是(A,C)(两项)A) final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性B) final修饰的类肯定不能被继承C) final修饰的方法不能被重载D) final修饰的变量不允许被再次赋值9.访问修饰符作用范围由大到小是(D)A) private-default-protected-publicB) public-default-protected-privateC) private-protected-default-publicD) public-protected-default-private10.以下(D)不是Object类的方法A) clone()B) finalize()C) toString()D) hasNext()11.多态的表现形式有(A)A) 重写B) 抽象C) 继承D) 封装12.以下对重载描述错误的是(B)A) 方法重载只能发生在一个类的内部B) 构造方法不能重载C) 重载要求方法名相同,参数列表不同D) 方法的返回值类型不是区分方法重载的条件13.以下(D)添加到ComputerBook中不会出错class Book{protected int getPrice(){return 30;}}public class ComputerBook extends Book{}A) protected float getPrice(){}B) protected int getPrice(int page){}C) int getPrice(){}D) public int getPrice(){return 10;}14.以下对抽象类的描述正确的是(C)A) 抽象类没有构造方法B) 抽象类必须提供抽象方法C) 有抽象方法的类一定是抽象类D) 抽象类可以通过new关键字直接实例化15.以下对接口描述错误的有(D)A) 接口没有提供构造方法B) 接口中的方法默认使用public、abstract修饰C) 接口中的属性默认使用public、static、final修饰D) 接口不允许多继承16.以下代码,描述正确的有(A)interface IDemo{public static final String name;1void print();2public void getInfo();3}abstract class Person implements IDemo{4public void print(){}}A) 第1行错误,没有给变量赋值B) 第2行错误,方法没有修饰符C) 第4行错误,没有实现接口的全部方法D) 第3行错误,没有方法的实现17.接口和抽象类描述正确的有(B,C)(两项)A) 抽象类没有构造函数B) 接口没有构造函数C) 抽象类不允许多继承D) 接口中的方法可以有方法体18.以下描述错误的有(C)A) abstract 可以修饰类、接口、方法B) abstract修饰的类主要用于被继承C) abstract 可以修饰变量D) abstract修饰的类,其子类也可以是abstract修饰的19.以下描述正确的有(B)A) 方法的重写应用在一个类的内部B) 方法的重载与返回值类型无关C) 构造方法不能重载D) 构造方法可以重写20.以下程序运行结果是(A)public class Test extends Father{private String name=”test”;public static void main(String[] args){Test test = new Test();}}class Father{private String name=”father”;public String getName() {return name;}}A) fatherB) testC) 编译出错D) 运行出错,无输出21.以下对异常的描述不正确的有(C)A) 异常分为Error和ExceptionB) Throwable是所有异常类的父类C) Exception是所有异常类父类D) Exception包括RuntimeException和RuntimeException之外的异常22.在try-catch-finally语句块中,以下可以单独与finally一起使用的是(B)A) catchB) tryC) throwsD) throw23.下面代码运行结果是(B)public class Demo{public int add(int a,int b){try{return a+b;}catch(Exception e){语句块”);}finally{语句块”);}return 0;}public static void main(String[] args){Demo demo = new Demo();和是:”+(9,34));}}A) 编译异常B) finally语句块和是:43C) 和是:43 finally语句块D) catch语句块和是:4324.以下描述不正确的有(D)A) try块不可以省略B) 可以使用多重catch块C) finally块可以省略D) catch块和finally块可以同时省略25.以下对自定义异常描述正确的是(C)A) 自定义异常必须继承ExceptionB) 自定义异常可以继承自ErrorC) 自定义异常可以更加明确定位异常出错的位置和给出详细出错信息D) 程序中已经提供了丰富的异常类,使用自定义异常没有意义26.以下程序运行结果是(D)public class Test {public int div(int a, int b) {try {return a / b;}catch(Exception e){}catch(NullPointerException e){}catch (ArithmeticException e) {} finally {}return 0;}public static void main(String[] args) {Test demo = new Test();商是:” + (9, 0));}}A) Exception finally 商是:0B) ArithmeticException finally 商是:0C) finally商是:0D) 编译报错27. 以下对TCP和UDP描述正确的是(D)A) TCP不能提供数据的可靠性B) UDP能够保证数据库的可靠性C) TCP数据传输效率高于UDPD) UDP数据传输效率高于TCP28. 在Java中,下面对于构造函数的描述正确的是(D)。
《Java面向对象》笔试3套
《Java面向对象编程》—选择题(单选50题)1.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?A、 ArrayList myList=new Object();B、 List myList=new ArrayList();C、 ArrayList myList=new List();D、 List myList=new List();2.paint()方法使用哪种类型的参数?A、 GraphicsB、 Graphics2DC、 StringD、 Color3.指出正确的表达式A、 byte=128;B、 Boolean=null;C、 long l=0xfffL;D、 double=0.9239d;4.指出下列程序运行的结果public class Example{String str=new String("good");char[]ch={'a','b','c'};public static void main(String args[]){Example ex=new Example();ex.change(ex.str,ex.ch);System.out.print(ex.str+" and ");Sytem.out.print(ex.ch);}public void change(String str,char ch[]){str="test ok";ch[0]='g';}}A、 good and abcB、 good and gbcC、test ok and abcD、 test ok and gbc5.运行下列程序, 会产生什么结果public class X extends Thread implements Runnable{public void run(){System.out.println("this is run()");}public static void main(String args[]){Thread t=new Thread(new X());t.start();}}A、第一行会产生编译错误B、第六行会产生编译错误C、第六行会产生运行错误D、程序会运行和启动6.要从文件" file.dat"文件中读出第10个字节到变量C中,下列哪个方法适合?A、 FileInputStream in=new FileInputStream("file.dat"); in.skip(9); intc=in.read();B、 FileInputStream in=new FileInputStream("file.dat"); in.skip(10); intc=in.read();C、 FileInputStream in=new FileInputStream("file.dat"); int c=in.read();D、 RandomAccessFile in=new RandomAccessFile("file.dat"); in.skip(9); intc=in.readByte();7.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?A、 CardLayoutB、 FlowLayoutC、 BorderLayoutD、 GridLayout8.给出下面代码:public class Person{static int arr[] = new int[10];public static void main(String a[]){System.out.println(arr[1]);}}那个语句是正确的?A、编译时将产生错误;B、编译时正确,运行时将产生错误;C 、输出零;D、输出空。
面向对象程序设计练习题库与答案
面向对象程序设计练习题库与答案一、单选题(共36题,每题1分,共36分)1.下列关于静态内部类的说法,错误的是()A、静态内部类不能直接访问外部类的非静态成员B、静态内部类只能访问外部类的静态成员C、创建静态内部类的对象时,必须要先创建外部类的对象D、静态内部类,就是使用static关键字修饰的成员内部类正确答案:C2.以下选项中,哪个是FileInputStream的父类()A、FileB、FileOutputC、OutputStreamD、InputStream正确答案:D答案解析:FileInputStream是用来读取文件的字节流,属于InputStream类的子类。
3.下面关于FileInputStream和FileOutputStream的说法中,错误的是()A、FileInputStream是InputStream的子类,它是操作文件的字节输入流B、FileOutputStream是OutputStream的子类,它是操作文件的字节输出流C、如果使用FileOutputStream向一个已存在的文件中写入数据,那么写入的数据会被追加到该文件原先的数据后面D、使用FileInputStream读取文件数据时,必须保证要读取的文件存在并且是可读的正确答案:C答案解析:如果使用FileOutputStream向一个已存在的文件中写入数据,如果构造函数FileOutputStream的参数append的值是true,那么写入的数据才会追加到原先数据之后,否则的话,原先的数据会被清空,然后再写入新的数据。
4.下列关于类的说法中,错误的是()A、Java中创建类的关键字是class。
B、类中可以有属性与方法,属性用于描述对象的特征,方法用于描述对象的行为。
C、Java中对象的创建,首先需要定义出一个类。
D、一个类只能创建一个对象。
正确答案:D答案解析:类是对象的模板,对象是类的实例,一个类是可以创建多个对象的。
c 面向对象程序设计上机考试题库
.
z
-
int Bo*::volume() {return(length*width*height); }
int main() { Bo* bo*1(30,20,10); cout<<"The volume of bo*1 is "<<bo*1.volume()<<endl; Bo* bo*2(12,10,20); cout<<"The volume of bo*2 is "<<bo*2.volume()<<endl; returudent(int n,float s):num(n),score(s){} int num; float score;
}; void main() {Student stud[5]={
Student(101,78.5),Student(102,85.5),Student(103,98.5), Student(104,100.0),Student(105,95.5)}; void ma*(Student* ); Student *p=&stud[0]; ma*(p); } void ma*(Student *arr) {float ma*_score=arr[0].score; int k=0; for(int i=1;i<5;i++) if(arr[i].score>ma*_score) {ma*_score=arr[i].score;k=i;} cout<<arr[k].num<<" "<<ma*_score<<endl; } 7.用 new 建立一个动态一维数组,并初始化 int[10]={1,2,3,4,5,6,7,8,9,10},用指针 输出,最后销毁数组所占空间。 *include<iostream> *include<string> using namespace std; void main(){ int *p; p=new int[10];
笔试题(面向对象)docx
笔试题(面向对象)2019-01-01笔试题(面向对象)1操作系统1请解释下列10个shell命令的用途top、ps、mv、find、df、cat、chmod、chgrp、grep、wc2、写出下列服务的用途和默认端口ftp、ssh、http、telnet、https面向对象1、写出php的public、protected、private三种访问控制模式的区别2、写出下列程序的输出结果class a{protected $c;public functiona(){$this ->c=10;}}class b extends a{public function print_data(){return笔试题(面向对象)2一、选择题:(每题3分,共20题)1. 下面关于类的说法错误的一项是()。
A、类属于Java语言中的复合数据类型中的基本结构单位C、类是同种对象的集合和抽象2. 如下所示代码:public class Test05_01{ }private float a;public static void m ( ){ }D、类就是对象 B、对象是Java语言如何使成员变量a被方法m( )访问()。
A、将private float a改为public float aB、将private float a改为static float aC、将private float a改为protected float aD、将private float a改为float a3. 下面关于类的说法有误的一项是()。
A、类就是对象抽象C、类属于Java语言中的复合数据类型中的基本结构单位D、对象是Java语言B、类是同种对象的集合和关于Java面向对象的考试题。
4. 下列哪种类成员修饰符修饰的变量只能在本类中被访问()。
A、protectedB、defaultC、privateD、public5. 下面关于方法的说法不正确的一项是()。
面向对象笔试题(2)课案
接口的声明 和接口体。
29 定义接口时,接口体中只进行方法的声明,不允许提供方法的
具体实现
。 。
30 如果接口中的方法的返回类型不是 void 的,那么在类中实现该接口的方法时,方法体至
少要有一个 return 语句。
31 内部类 指那些类定义代码被置于其他类定义中的类。 32 泛型 是 Java SE5.0 的新特性。
23 使用关键字 interface 来定义接口。
24 接口定义包括接口的声明和
接口体 。
25 一个类通过使用关键字 implements 声明自己实现一个或多个接口。
26 如果一个类实现了某个接口,那么这个类必须实现该接口的
所有方法
27 接口中的方法被默认的访问权限是
public 。
28 接口的定义包括
46 StringBuffer 类是可变类,对象所包含的字符串内容可以被添加或修改。
47 使用 String 类的 length() 方法可以获取一个字符串的长度。
48 可以使用 String 类的
startWith(String s)
方法判断一个字符串的前缀是否是字
符串 s。
49 可以使用 String 类的 串 s。
__父类
____的方法。
9 在 Java 语言中多态性体现在由方法重载实现的静态多态性和
重写 实现的动态多态
性。
10 final 类不能被继承,即不能有子类。
11 abstract 类不能创建对象,必须产生其子类,由子类创建对象。
12 如果一个方法被修饰为
final 方法,则这个方法不能被重写。
13 对于 abstract 方法,只允许声明,而不允许实现。 14 如果一个方法被修饰为 final 方法,则这个方法不能 15 如果一个类是一个 abstract 类的子类,它必须具体实现
2-面向对象基础测试题和答案
2-面向对象基础测试题和答案2-面向对象基础测试题和答案共40道选择题,每题2.5分。
多选题有错则全错,全对才满分. 面向对象部分测试题1.下面描述函数重写错误的是CA. 要有子类继承或实现B. 子类方法的权限必须大于等于父类的权限C. 父类中被private权限修饰的方法可以被子类重写D. 子类重写接口中的抽象方法,子类的方法权限必须是public的2.关于封装下面介绍错误的是(D )。
A. 封装将变化隔离B. 封装提高重用性。
C. 封装安全性D. 只有被private修饰才叫做封装3.试图编译运行下面的代码会发生什么情况Dpublic class MyClass{static int i;public static void main(String[] args){System.out.println(i);}}A. 错误,变量i没有被初始化B. 输出nullC. 输出1D. 输出04.在Java中,下面对于构造函数的描述正确的是(D)。
A. 类必须显式定义构造函数B. 构造函数的返回类型是voidC. 构造函数和类有相同的名称,并且不能带任何参数D. 一个类可以定义多个构造函数5.下面Java代码的运行结果是(C )。
class Penguin {private String name=null; // 名字private int health=0; // 健康值private String sex=null; // 性别public void Penguin() { //是一般方法,不是构造方法health = 10;sex = "雄";System.out.println("执行构造方法。
");}public void print() {System.out.println("企鹅的名字是" + name +",健康值是" + health + ",性别是" + sex+ "。
面向对象的程序设计试题库
面向对象的程序设计一、单项选择题1、下面那种结构不是C++的控制结构()A 顺序结构B 选择结构C 循环结构D 判断结构答: D2、下列是C++语言中合法标识符的是()。
A.3three B.ifC._1oneD.while答:C3、下列是合法的C++语言语句的是()。
A.if(x>0) then x=x-1;else x=x+1;B.if(x>0) x=x-1;else x=x+1;C.if x>0 x=x-1;else x=x+1;D.if x>0 x=x-1;答:B4、下面那一种不是计算机内部表示整数的方法()A 二进制码B原码C 补码D反码答:A5、在C++语言中,下列数为合法的实数的是()。
A.5E-3B.5E-3.5C. E5D.-3.5E答:A6、C++语言中数据类型最大的是()A longB floatC intD char7、如果一个函数可以在定义中直接或间接的调用自己,这样的函数称为()。
A.函数声明B.嵌套函数C.定义函数D.递归函数答:D8、表达式0x55^0xB4的结果为()。
A.0xF5B.0x15C.0xE1D.0x1E答:C9、C++中,源代码文件后缀为()A .cppB .objC .exeD .c答: A10、0X5A&0XB7结果是()A 0X13B 0X12C 0X14D 0X15答: B二、填空题1、程序的基本控制结构包括()、()和()。
答:顺序结构,选择结构,循环结构2、用来解决问题的,与有限多个步骤组成的具体过程称为()。
答:算法3、整数类型变量a和b被初始化为3和10,则循环语句while(a<=b) a=a+2;共执行()次,执行完语句后a的值为(),b的的值为()。
答:4,11,10)。
答:警告信息,致命错误5、计算机中的数据可以分为()和()两大类。
答:数值型、字符型6、字符型数据有两种编码方法:()和()答:有美国国家标准局制定的ASCII码、IBM公司提出的EBCDIC码7、通过C++ 语言中的()机制,可以从现存类中构建其子类。
C#面向对象编程基础考试
C#面向对象编程基础考试(答案见尾页)一、选择题1. 在C中,下列哪个关键字用于定义类的成员变量?A. privateB. publicC. protectedD. internal2. 在C中,下列哪个关键字用于定义类的方法?A. privateB. publicC. protectedD. internal3. 在C中,下列哪个关键字用于实现继承?A. virtualB. overrideC. sealedD. abstract4. 在C中,下列哪个关键字用于限制某个类的成员只能被同一类中的其他成员访问?A. privateB. publicC. protectedD. internal5. 在C中,下列哪个关键字用于创建抽象类?A. virtualB. overrideC. sealedD. abstract6. 在C中,下列哪个关键字用于标记某个成员是静态的?A. privateB. publicC. protectedD. internal7. 在C中,下列哪个关键字用于表示数组的长度?A. lengthB. sizeC. lengthD. capacity8. 在C中,下列哪个关键字用于抛出异常?A. throwB. catchC. finallyD. fault9. 在C中,下列哪个关键字用于同步对共享资源的访问?A. lockB. unlockC. sleepD. wait10. 在C中,下列哪个关键字用于定义委托?A. delegateB. eventC. interfaceD. class11. C是一种哪种编程语言?A. 面向过程B. 面向对象C. 函数式编程D. 逻辑编程12. 在C中,什么是类?A. 一种数据类型B. 一种方法C. 一种属性D. 一种代码组织方式13. 在C中,什么是字段?A. 类的成员变量B. 方法内部的变量C. 属性的成员变量D. 构造函数的参数14. 在C中,什么是接口?A. 一种数据类型B. 一种方法C. 一种属性D. 一种代码组织方式15. 在C中,什么是继承?A. 一种数据类型B. 一种方法C. 一种属性D. 一种代码组织方式16. 在C中,什么是多态?A. 一种数据类型B. 一种方法C. 一种属性D. 一种代码组织方式17. 在C中,什么是封装?B. 一种方法C. 一种属性D. 一种代码组织方式18. 在C中,什么是委托?A. 一种数据类型B. 一种方法C. 一种属性D. 一种代码组织方式19. 在C中,什么是事件?A. 一种数据类型B. 一种方法C. 一种属性D. 一种代码组织方式20. 在C中,什么是LINQ?A. 一种数据类型B. 一种方法C. 一种属性D. 一种代码组织方式21. C是一种什么编程语言?A. 面向过程B. 面向对象C. 函数式编程D. 逻辑编程22. 在C中,什么是类?A. 一种数据类型B. 一种代码组织方式C. 一个对象的集合23. 在C中,什么是字段?A. 类的成员变量B. 方法内部的局部变量C. 类的静态成员变量D. 对象的内部成员变量24. 在C中,什么是方法?A. 类的成员函数B. 函数库中的函数C. 对象的行为D. 代码块25. 在C中,什么是属性?A. 类的成员变量B. 方法内部的局部变量C. 访问或修改类成员的方法D. 代码块26. 在C中,什么是索引器?A. 类的成员变量B. 方法内部的局部变量C. 访问或修改类成员的方法D. 代码块27. 在C中,什么是委托?A. 一种数据类型B. 一种代码组织方式C. 一个对象的集合D. 一个函数库28. 在C中,什么是事件?B. 一种代码组织方式C. 一个对象的集合D. 一个函数库29. 在C中,什么是继承?A. 一种数据类型B. 一种代码组织方式C. 一个类可以继承另一个类的特性D. 一个类可以继承另一个类的功能30. 在C中,什么是多态?A. 一种数据类型B. 一种代码组织方式C. 同一个接口可以被不同的类实现D. 一个类可以有多个基类31. 关于C语言中面向对象编程的描述,以下哪个是正确的?A. C#支持继承和多态B. C#支持封装和多态C. C#支持继承和封装D. C#只支持封装32. 在C中,以下哪个关键字用于定义类?A. classB. structC. interfaceD. delegate33. 在C中,以下哪个关键字用于定义属性(Accessors)?A. publicB. privateC. protectedD. virtualA. publicB. privateC. protectedD. virtual35. 在C中,以下哪个关键字用于实现接口?A. implementsB. extendsC. implementsD. extends36. 在C中,以下哪个关键字用于访问类的成员?A. thisB. baseC. staticD. void37. 在C中,以下哪个关键字用于创建对象实例?A. newB. createC. instanceD. newinstance38. 在C中,以下哪个关键字用于抛出异常?A. throwB. catchC. finallyD. fault39. 在C中,以下哪个关键字用于同步代码块?A. lockB. syncC. beginD. commitA. staticB. constC. virtualD. abstract二、问答题1. 什么是面向对象编程(OOP)?2. 在C中,类和对象有什么区别?3. 什么是封装?在C中如何实现封装?4. 什么是继承?在C中如何实现继承?5. 什么是多态?在C中如何实现多态?6. 在C中,如何使用LINQ技术查询数据?7. 什么是委托?在C中如何使用委托?8. 什么是异常处理?在C中如何处理异常?参考答案选择题:1. A2. B3. D4. A5. D6. C7. C8. A9. A 10. A11. B 12. A 13. A 14. A 15. D 16. D 17. D 18. B 19. D 20. D21. B 22. A 23. A 24. A 25. C 26. D 27. C 28. D 29. C 30. C31. A 32. A 33. D 34. D 35. A 36. A 37. A 38. A 39. A 40. A问答题:1. 什么是面向对象编程(OOP)?面向对象编程是一种编程范式,它使用“对象”来设计软件。
面向对象分析与设计(试卷及答案)
《面向对象分析与设计》考试试卷(第一套)课程号5808115040 考试时间100 分钟适用专业年级(方向):考试方式及要求:闭卷笔试一、单项选择(每题分,共45分,答案写在题前表格内)1.SDLC需求分析阶段结束时将产生哪个文档()。
A.可行性分析报告B.软件需求说明书C.软件需求统计D.系统需求统计2.面向对象将描述事物的数据与()封装在一起,作为一个相互依存,不可分割的整体来处理。
A.信息B.数据隐藏C.数据操作D.数据抽象3.()是从用户使用的角度描述系统功能的图形表示方法。
A.类图B.对象图C.序列图D.用例图4.()描述了一组交互对象间的动态协助关系,表示完成某项行为的对象和这些对象间传统消息的时间顺序。
A.对象图B.协作图C.序列图D.状态图A.瀑布模型B.原型模型C.增量模型D.螺旋模型6.()是用于把元素组织成组的通用机制A.包B.类C.接口D.组件7.对某企业的工作流程进行建模,()是最有效的。
A.交互图B.活动图C.状态图D.类图8.一个设计得好的OO系统具有()A.低内聚、低耦合的特征B.高内聚、低耦合的特征C.高内聚、高耦合的特征D.低内聚、高耦合的特征9.下面那个图符表示UML中的实现关系?()。
A. B.C. D.10.下图表示类图的()+op11()+op12()-attr11-attr12Class1+op21()+op22()-attr21-attr22Class2A.关联关系B.泛化关系C.实现关系D.依赖关系11.一个银行业务系统采用如图所示的配置图,则错误的是()。
A.与GUI有关的类应该部署在Branch Client上B.这个图表示一个三层的体系结构,不管Branch Client、Financial App Server、Database Server是运行在同一台机器上还是在不同机器上C.为了系统的可伸缩性(scalability),与业务逻辑有关的对象应该部署在12.用例图关于角色的说法中错误的是()。
Java面向对象笔试题
《Java面向对象》内部测试-笔试试卷1、下列对Java中的继承描述错误的说法是()。
A.子类至少有一个基类B.子类可作为另一个子类的基类C.子类可以通过this关键字来访问父类的私有属性D.子类继承父类的方法访问权限保持不变2、构造方法是否可被重写和重载()。
A.不能重写,可以重载B.可以重写,不能重载C.不能重写,不能重载D.可以重写,可以重载3、下列属于方法重载好处的是()。
A.实现多态B.方法名的复用C.提高程序运行速度D.使用方便,提高可读性4、面向对象方法的多态性是指()。
A.一个类可以派生出多个特殊类B.一个对象在不同的运行环境中可以有不同的变体C.拥有相同父类或接口的不同对象可以以适合自身的方式处理同一件事D.一个对象可以是由多个其他对象组合而成的5、Dog是Animal的子类,下面代码错误的是()。
A.Animal a = new Dog();B.Animal a = (Animal )new Dog();C.Dog d = (Dog)new Animal();D.Object o = new Dog() ;6、下面定义Java的常量,正确的是()。
A.public static final double PI = 3.14;B.public final static double PI = 3.14;C.final public static double PI = 3.14;D.static public final double PI = 3.14;7、这个方法的返回值是()。
public int count() {try{return 5/0;} catch(Exception e){return 2*3;} finally {return 3;}}A.0B. 6C. 3D.程序错误8、下面代码的运行结果是()。
public class Car {public void run(){System.out.println("汽车在跑");}}public class Benz extends Car {public void run(){System.out.println("奔驰在跑");}}public static void main(String[] args) {Car car = (Car)( new Benz() );car. run();}A.汽车在跑B.奔驰在跑C.无法编译D.运行时将抛出异常9、关于Java的接口,下面说法错误的是()。
面向对象程序设计试题及答案
面向对象程序设计试题及答案一、试题1. 请简要解释面向对象(Object-Oriented)程序设计的概念。
2. 列举面向对象程序设计中的四个基本特征,并分别进行简要描述。
3. 请说明封装(Encapsulation)在面向对象程序设计中的作用和优势。
4. 解释继承(Inheritance)在面向对象程序设计中的概念和用途。
5. 什么是多态(Polymorphism)?请解释多态的概念以及其在面向对象程序设计中的重要性。
6. 简要介绍抽象类(Abstract Class)和接口(Interface)的概念,并说明它们之间的区别。
7. 请解释类(Class)与对象(Object)之间的关系。
8. 在面向对象程序设计中,什么是构造函数(Constructor)?请说明构造函数的作用和使用方法。
9. 请示范一个使用面向对象程序设计的简单实例,并说明你所设计的类的结构和功能。
二、答案1. 面向对象程序设计是一种以对象为中心的编程方法,通过定义表示对象属性和行为的类来组织程序结构,以实现代码的重用性、灵活性和可维护性。
2. (1)封装:将数据和对数据的操作封装在一个类中,通过访问权限控制,保护数据的安全性和完整性。
(2)继承:通过建立类之间的继承关系,实现代码的重用,具有层次性和扩展性。
(3)多态:允许不同类的对象对同一消息作出不同的响应,实现代码的灵活性和扩展性。
(4)抽象:通过抽象类和接口的定义,隐藏对象的具体实现细节,提供统一的接口和规范。
3. 封装的作用是将数据和对数据的操作封装在一个类中,外部无法直接访问类的内部实现细节,只能通过类提供的接口访问和操作数据。
封装的优势包括:(1)提高代码的可维护性和可读性,减少代码的重复。
(2)保护数据的安全性和完整性,防止外部直接对数据进行非法操作。
(3)降低模块之间的耦合度,提高代码的灵活性。
4. 继承是面向对象程序设计中的一个重要概念,它通过建立类与类之间的继承关系,实现代码的重用和扩展。
(完整版)面向对象程序设计试卷及答案
考试试卷A(答案)面向对象程序设计注意事项:1。
请考生按要求在试卷装订线内填写姓名、学号和年级专业。
2. 请仔细阅读各种题目的回答要求,在规定的位置填写答案。
3。
不要在试卷上乱写乱画,不要在装订线内填写无关的内容.4。
满分100分,考试时间为120分钟。
一。
单项选择(本大题共10小题,每小题3分,共30分)1. C#中每个int类型的变量占用( B )个字节的内存。
(A)8 (B)4 (C)2 (D)12。
面向对象的特点是( A )(A)封装、继承、多态(B)抽象、封装、多态(C)抽象、继承、封装(D)抽象、多态、重载3。
C#控制台程序的主入口点是( C )(A) Page_Load函数(B)Run函数(C)Main函数(D)Form_Load函数4。
引用类型存储在( B )中。
(A)堆栈(B)堆内存(C)队列(D)列表5. 在C#中,表示一个字符串的变量应使用以下哪条语句定义( B )(A)CString str (B)string str(C)Dim str as string (D)char *str6。
在中,用来与数据源建立连接的对象是( A )。
(A)Connection对象(B)Command对象(C)DataAdapter对象(D)DataSet对象7. 在类的定义中,类的( B )描述了该类的对象的行为特征.(A)类名(B)方法(C)所属的名字空间(D)私有域8. 如果未显式赋值,则将整型值( B )赋给枚举中的第一个元素。
(A)1 (B)0 (C)2 (D)39. float类型的值可以隐式转换成( C )类型的值而保持值不被改变。
(A)char (B)long (C)double (D)int10。
在C#中,假设Class1是一个类,而IExample是一个接口,下面的( A )类声明是正确的。
(A)class Employee: Class1, IExample(B )class Employee : IExample , Class1(C )class Employee- Class1, IExample(D )class Employee: Class1/IExample二.判断题(本大题共5小题,每小题3分,共15分)1. C#中子类可以继承多个基类,也可以继承一个接口。
面向对象笔试题(2)讲解
一、填空题1 Java中一个类可以有一个父类。
2 如果一个类的声明中没有使用extends关键字,这个类被系统默认为是Object 类的子类。
3 子类自然地继承了其父类中不是private 的成员变量作为自己的成员变量。
4 当子类中定义的成员变量和父类中的成员变量同名时,子类的成员变量隐藏了父类的成员变量。
5 子类通过成员变量的隐藏和方法的重写可以把父类的状态和行为改变为自身的状态和行为。
6 对于重写或继承的方法,Java运行时系统根据调用方法的实例的类型来选择调用哪个方法。
7 对于子类创建的一个对象,如果子类重写了父类的方法,则运行时系统调用子类的方法。
8 对于子类创建的一个对象,如果子类继承了父类的方法,未重写,则运行时调用__父类____的方法。
9 在Java语言中多态性体现在由方法重载实现的静态多态性和重写实现的动态多态性。
10 final 类不能被继承,即不能有子类。
11 abstract 类不能创建对象,必须产生其子类,由子类创建对象。
12 如果一个方法被修饰为final 方法,则这个方法不能被重写。
13 对于abstract 方法,只允许声明,而不允许实现。
14 如果一个方法被修饰为final方法,则这个方法不能被重写。
15 如果一个类是一个abstract类的子类,它必须具体实现父类的abstract方法。
16 局部变量的名字与成员变量的名字相同,若想在该方法内使用成员变量,必须使用关键字this 。
17 在关键字中能代表当前类或对象本身的是this 。
18 如果在子类中想使用被子类隐藏的父类的成员变量或方法可以使用关键字super 。
19 子类如果想用父类的构造方法,必须在子类的构造方法中使用,并且必须使用关键字____super 来表示。
20 如果在子类中想使用被子类隐藏了的父类成员变量或方法就可以使用关键字super 。
21 Java中为了克服单继承的缺点,使用了接口,一个类可以实现多个接口。
面向对象考试复习大纲和题库最终2
⾯向对象考试复习⼤纲和题库最终2·⾯向对象考试复习⼤纲和题库:选择和填空:覆盖⾯:第⼀章Java语⾔简介(2-3分)第⼆章java编程基础(7-8分)第三章⾯向对象(2分)第13章类和对象(2-3分)第14-15章数组和字符串(6-8分)继承和多态(2-3分)接⼝(1-2分)GUI(3-5分)异常(1-2分)javaapplet(2-3分)多线程(2分)⼀、选择题(60题)-考试(15题,共15分)1.在JAVA编程中,Java编译器会将java程序转换为()。
a)字节码b)可执⾏代码c)机器代码d)以上所有选项都不正确2.在JAVA编程中,以下( b )命令⽤来执⾏java类⽂件。
a)javacb)javac)appletviewerd)以上所有选项都不正确3.在JAVA编程中,以下( c )命令能够将Java源⽂件转换为类⽂件。
a)appletviewerb)javac)javacd)以上所有选项都不正确4. MyProgram.Java被编译后,⽣成( b )。
a)MyProgram. Objb)MyProgram. classc)MyProgram.exed)MyProgram. bat5.下列选项中,属于Java语⾔的关键字的是()。
a)gotob)mallocc)extendd)FALSE6.在Java语⾔中,下⾯变量命名合法的有()。
a)variable123d)selg_,asd7. JAVA程序中,d()不能⽤来表⽰注释。
a)//注释b)/*注释*/c)/**注释*/d)/注释/8.在JAVA编程中,(a)可以实现跳转结构。
a)breakb)whilec)do-whiled)for9.以下的选项中能正确表⽰Java语⾔中的⼀个整型常量的是( b)。
A) 12. B) -20 C) 1,000 D) 4 5 610. 以下选项中,合法的赋值语句是( b )。
A) a = = 1; B) ++ i; C) a=a + 1= 5; D) y = int ( i );11. 若所⽤变量都已正确定义,以下选项中,⾮法的表达式是( c )。
面向对象编程基础考试
面向对象编程基础考试(答案见尾页)一、选择题1. 什么是面向对象编程(OOP)?A. 一种编程范式B. 一种编程语言C. 一种软件开发方法论D. 以上都不是2. 在面向对象编程中,哪个概念描述了类和实例之间的关系?A. 封装B. 继承C. 多态D. 抽象3. 在面向对象编程中,什么是封装?A. 将数据隐藏在对象内部B. 将方法隐藏在对象内部C. 将数据和方法都隐藏在对象内部D. 将对象隐藏在类内部4. 在面向对象编程中,什么是继承?A. 创建一个新的类,这个新类是现有类的扩展B. 创建一个新的类,这个新类与现有类完全相同C. 创建一个新的类,但这个新类只有一个子类D. 创建一个新的类,但这个新类没有子类5. 在面向对象编程中,什么是多态?A. 同一个接口可以被不同的对象以不同的方式实现B. 一个类的所有方法都是静态的C. 一个类的所有属性都是静态的D. 类的每个对象都有一个固定的属性值6. 在面向对象编程中,什么是抽象?A. 创建一个新的类,这个新类是现有类的子类B. 创建一个新的类,这个新类与现有类完全不同C. 创建一个新的类,但这个新类只有一个子类D. 创建一个新的类,但这个新类没有子类7. 在面向对象编程中,什么是局部变量?A. 在方法内部定义的变量B. 在类内部定义的变量,但在方法外部也可以访问C. 在类内部定义的变量,但在方法内部也可以访问D. 在方法内部定义的变量,且只在方法内部可见8. 在面向对象编程中,什么是全局变量?A. 在方法内部定义的变量B. 在类内部定义的变量,但在方法外部也可以访问C. 在类内部定义的变量,但在方法内部也可以访问D. 在程序的任何地方都可以访问的变量9. 在面向对象编程中,什么是构造函数?A. 用于初始化对象的函数B. 用于创建对象的函数C. 用于销毁对象的函数D. 以上都不是10. 在面向对象编程中,什么是析构函数?A. 用于初始化对象的函数B. 用于创建对象的函数C. 用于销毁对象的函数D. 以上都不是11. 什么是面向对象编程(OOP)?A. 一种编程范式B. 一种编程语言C. 一种软件开发方法论D. 一种算法12. 在面向对象编程中,哪个概念描述了对象之间的交互?A. 封装B. 继承C. 多态D. 抽象13. 在面向对象编程中,什么是类(Class)?A. 一个对象的蓝图或原型B. 一个抽象概念C. 一个具体的实现D. 一个操作系统的组件14. 在面向对象编程中,什么是对象(Object)?A. 一个程序中的所有数据B. 一个程序中的所有函数C. 一个具有属性和行为的实体D. 一个计算机的硬件部件15. 在面向对象编程中,什么是继承(Inheritance)?A. 一种代码重用机制B. 一种创建新类的方式C. 一种事件处理机制D. 一种数据处理技术16. 在面向对象编程中,什么是多态(Polymorphism)?A. 一种代码重用机制B. 一种创建新类的方式C. 一种事件处理机制D. 一种数据处理技术17. 在面向对象编程中,什么是封装(Encapsulation)?A. 一种代码重用机制B. 一种创建新类的方式C. 一种事件处理机制D. 一种数据隐藏技术18. 在面向对象编程中,什么是抽象(Abstraction)?A. 一种代码重用机制B. 一种创建新类的方式C. 一种事件处理机制D. 一种概念性的表示19. 在面向对象编程中,什么是继承链(Inheritance Chain)?A. 一种对象之间的关联关系B. 一种代码重用机制C. 一种创建新类的方式D. 一种属性和方法的传递路径20. 在面向对象编程中,什么是接口(Interface)?A. 一种代码重用机制B. 一种创建新类的方式C. 一种事件处理机制D. 一种对象间的通信约定21. 什么是面向对象编程(OOP)?A. 面向对象编程是一种编程范式,它使用“对象”来表示数据和方法。
面向对象程序设计考前复习题及答案
简答题1、传统的结构化程序设计的优点和缺点是什么?优点:(1)这种程序设计方法力求算法描述精确。
(2)对每一子过程模块简单进行程序正确性证明。
缺点:(1)这种程序设计方法本质上是面对“过程”的,而“过程”和“操作”又是不稳定和多变的,因此不能干脆反映人类求解问题的思路。
(2)程序代码可重用性差。
程序中除少数标准库函数外,每设计一个程序时,程序员几乎从零做起。
即使重用代码,通常也是通过拷贝或编辑重新生成一份。
(3)维护程序的一样性困难。
该种方法将数据与对数据进行处理的程序代码分别。
2、什么是对象?每个对象都具有属性(Attribute)和方法(Method)这两方面的特征。
对象的属性描述了对象的状态和特征,对象的方法说明白对象的行为和功能,并且对象的属性值只应由这个对象的方法来读取和修改,两者结合在一起就构成了对象的完整描述。
3、什么是消息?在面对对象的程序设计中,由于对象描述了客观实体,它们之间的联系通过对象间的联系来反映。
当一个对象须要另外一个对象供应服务时,它向对方发出一个服务恳求,而收到恳求的对象会响应这个恳求并完成指定的服务。
这种向对象发出的服务恳求就称为消息。
4、什么是多态性?所谓多态性是指当程序中的其他部分发出同样的消息时,根据接收消息对象的不同能够自动执行类中相应的方法。
其好处是,用户不必知道某个对象所属的类就可以执行多态行为,从而为程序设计带来更大便利。
5、什么是面对对象的程序设计方法?这种方法将设计目标从模拟现实世界的行为转向了模拟现实世界中存在的对象及其各自的行为。
在OOP中,将“对象”作为系统中最基本的运行实体,整个程序即由各种不同类型的对象组成,各对象既是一个独立的实体,又可通过消息相互作用,对象中的方法确定要向哪个对象发消息、发什么消息以及收到消息时如何进行处理等。
6、面对对象方法的特点是什么?(1)OOP以“对象”或“数据”为中心。
由于对象自然地反映了应用领域的模块性,因此具有相对稳定性,可以被用作一个组件去构成更困难的应用,又由于对象一般封装的是某一实际需求的各种成分,因此,某一对象的变更对整个系统几乎没有影响。
(完整版)c++面向对象程序设计试题和答案
(完整版)c++面向对象程序设计试题和答案系名___ ___ ___ ___班级___ ___ ___ ___姓名___ ___ ___ ___学号___ ___ ___ ___ 密封线内不答题填空题(每空1分,共14分)1、观看以下程序:class point{public:void show() {cout<<”point”<<endl;}< p="">};void main(){point p1;point *p;p=&p1_P1.show()______________//通过对象p1访问show函数__p->show()____________//通过指针p访问show函数}2、在C++类中可以包含__私有____________、___公有___________和__保护____________三种具有不同访问控制权的成员。
3、定义类时,在类头中将使用关键字___class__________来表示类定义的开始。
4、如果一个类中至少有一个纯虚函数,则该类称为_____抽象类___________。
5、C++类的组成包括数据成员和___成员函数___________,友元_不是____(是、不是)该类的成员函数。
6、友员函数是用关键字____friend________修饰的非成员函数。
7、若有:int i;int &j=i;i=10;j=i+1;则i=__11________,j=_11_________。
8、new的功能是_____动态申请内存空间_______________,delete的功能是___释放由new申请的空间_________________。
二、选择题(每小题1.5分,共30分)1、下列特性中不是面向对象程序设计语言所特有的是()。
(A)数据封装(B)继承(C)多态性(D)模板2、()是给变量取一个别名,它引入了变量的同意词。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、填空题1 Java中一个类可以有一个父类。
2 如果一个类的声明中没有使用extends关键字,这个类被系统默认为是Object 类的子类。
3 子类自然地继承了其父类中不是private 的成员变量作为自己的成员变量。
4 当子类中定义的成员变量和父类中的成员变量同名时,子类的成员变量隐藏了父类的成员变量。
5 子类通过成员变量的隐藏和方法的重写可以把父类的状态和行为改变为自身的状态和行为。
6 对于重写或继承的方法,Java运行时系统根据调用方法的实例的类型来选择调用哪个方法。
7 对于子类创建的一个对象,如果子类重写了父类的方法,则运行时系统调用子类的方法。
8 对于子类创建的一个对象,如果子类继承了父类的方法,未重写,则运行时调用__父类____的方法。
9 在Java语言中多态性体现在由方法重载实现的静态多态性和重写实现的动态多态性。
10 final 类不能被继承,即不能有子类。
11 abstract 类不能创建对象,必须产生其子类,由子类创建对象。
12 如果一个方法被修饰为final 方法,则这个方法不能被重写。
13 对于abstract 方法,只允许声明,而不允许实现。
14 如果一个方法被修饰为final方法,则这个方法不能被重写。
15 如果一个类是一个abstract类的子类,它必须具体实现父类的abstract方法。
16 局部变量的名字与成员变量的名字相同,若想在该方法内使用成员变量,必须使用关键字this 。
17 在关键字中能代表当前类或对象本身的是this 。
18 如果在子类中想使用被子类隐藏的父类的成员变量或方法可以使用关键字super 。
19 子类如果想用父类的构造方法,必须在子类的构造方法中使用,并且必须使用关键字____super 来表示。
20 如果在子类中想使用被子类隐藏了的父类成员变量或方法就可以使用关键字super 。
21 Java中为了克服单继承的缺点,使用了接口,一个类可以实现多个接口。
22 接口就是方法定义和常量值的集合。
23 使用关键字interface 来定义接口。
24 接口定义包括接口的声明和接口体。
25 一个类通过使用关键字implements 声明自己实现一个或多个接口。
26 如果一个类实现了某个接口,那么这个类必须实现该接口的所有方法。
27 接口中的方法被默认的访问权限是public 。
28 接口的定义包括接口的声明和接口体。
29 定义接口时,接口体中只进行方法的声明,不允许提供方法的具体实现。
30 如果接口中的方法的返回类型不是void的,那么在类中实现该接口的方法时,方法体至少要有一个return 语句。
31 内部类指那些类定义代码被置于其他类定义中的类。
32 泛型是Java SE5.0的新特性。
33 创建对象常用的方法就是使用new 运算符和类的构造方法。
34 把Java应用程序中涉及到的类压缩成一个jar 文件。
35 数组是相同类型的数据按顺序组成的一种引用数据类型。
36 Java中定义数组后通过数组名加数组下标,来使用数组中的数据。
37 Java中声明数组包括数组的名字、数组包含的元素的数据类型。
38 声明数组仅仅是给出了数组名字和元素的数据类型,要想真正的使用数组还必须为它分配内存空间。
39 一维数组通过下标符访问自己的元素,需要注意的是下标从0 开始。
40 创建数组后,系统会给每一个数组元素一个默认的值,如float型是0 。
41 声明数组仅仅是给出了数组名字和元素的数据类型,要想真正地使用数组还必须为它分配内存空间。
42 数组声明后,必须使用new 运算符分配内存空间。
43 Java中使用ng包中的String 类来创建一个字符串变量,因此字符串变量是类类型变量,是一个对象。
44 创建一个字符串时,使用String类的构造方法。
45String类是不可变类,对象所包含的字符串内容永远不会被改变。
46 StringBuffer类是可变类,对象所包含的字符串内容可以被添加或修改。
47 使用String类的length()方法可以获取一个字符串的长度。
48 可以使用String类的startWith(String s) 方法判断一个字符串的前缀是否是字符串s。
49 可以使用String类的endsWith(String s) 方法判断一个字符串的后缀是否是字符串s。
50 可以使用String类的equals(String s)方法比较一字符串是否与字符串s相同。
51 字符串调用indexOf(String s) 方法从当前字符串的头开始检索字符串s,并返回首次出现s 的位置。
52 字符串调用indexOf方法检索字符串s,并返回首次出现s 的位置。
如果没有检索到字符串s,该方法返回的值是+1 。
53 一个字符串s 通过调用方法trim() 得到一个字符串对象,该字符串对象是s 去掉前后空格后的字符串。
54 ng 包中的Integer 类调用其类方法:parseInt 可以将“数字”格式的字符串,如“2387”,转化为int 型数据。
55 可以使用ng包中的Integer 类将形如“2387”的字符串转化为int型数据。
56 可以使用ng包中的Long 类将字符串转化为long型数据。
57 可以使用String类直接调用valueOf 方法将数值转化为字符串。
58 StringBuffer类调用方法,toString()返回缓冲区内的字符串。
59 Object类有一个public方法是toString() ,一个对象通过调用该方法可以获得该对象的字符串表示。
60 Object 类是所有Java 类的最终祖先,如果一个类在声明时没有包含extends 关键词,那么这个类直接继承Object类。
61 对于一个已经不被任何引用变量引用的对象,当垃圾回收器准备回收该对象所占用的内存时,将自动调用该对象的finalize()方法。
62 每个Java 基本类型在ng 包中都有一个相应的包装类,把基本类型数据转换为对象。
63 在Java 集合中不能存放基本类型数据,如果要存放数字,应该使用包装类型。
64 Character 类和Boolean 类直接继承Object 类,除此以外,其他包装类都是java.Number 的直接子类。
65 包装类都覆盖了Object 类的toString()方法,以字符串的形式返回包装对象所表示的基本类型数据。
66 所有的包装类都是final 类型,因此不能创建它们的子类。
67 Math 类提供了许多用于数学运算的静态方法。
68 Math 类是final 类型的,因此不能有子类。
69 Random 类提供了一系列用于生成随机数的方法。
70 Date 类以毫秒数来表示特定的日期。
71 java.text.DateFormat 抽象类用于定制日期的格式,它有一个具体子类为SimpleDateFormat 。
72 FBigDecimal 类能够进行浮点数的精确加法、减法和乘法运算,对于浮点数的除法运算,可以满足用户指定的精度。
73 异常处理方法是一种非常有用的辅助性程序设计方法。
采用这种方法可以使得在程序设计时将程序的正常流程与错误处理分开,有利于代码的编写和维护。
74 按异常在编译时是否被检测来分,异常可以分为两大类:受检异常与非受检异常。
75 程序可以处理的异常对应的类是Exception 及其子类。
76 抛出异常可以利用try catch 语句。
77 处理异常的方式有两种:捕获异常方式与转移异常方式。
78 捕捉异常方式是通过try catch 结构处理异常。
79 在try-catch-finally 结构中,finally 语句块一般总是会被执行,不管有没有异常产生。
80 异常处理流程中,其中try 代码块包含了可能发生异常的程序代码。
81 异常处理流程中,其中catch 代码快紧跟在try 代码块后面,用来捕获并处理异常。
82 异常处理流程中,其中finally 代码块用于释放被占用的相关资源。
83 对于程序中可能出现的受检查异常,要么用try…catch 语句捕获并处理它,要么用_____throw____语句抛出它,Java 编译器会对此做检查。
二、问题题1、用代码表示A类关联B类的情况。
解析:一个Java应用中不可能只有一个类,所以了解类之间的关系对程序员来说非常重要。
关联关系是最常用的一种关系,如果说A关联B,那么就是B作为A的属性存在。
关联关系是一种复用的策略,即A关联B的时候,A可以复用B的行为。
参考答案:Class A{Private B b;Public void setB(B b){This.b=b;}}2、请说明Java语言中数组的基本概念,数组的作用,以及数组的声明创建方式。
解析:数组时任何一门语言里都常用的类型,Java语言也不例外。
程序员了解数组,不能仅仅从语法上了解,而应该深入理解数组的作用。
数组可以用来存储类型相同的元素,作为一种数据容器使用。
和数组类似的概念是集合,也能作为数据容器使用。
参考答案:数组时相同元素的集合,作为数据容器使用。
声明创建一个int型数组,如下所示:int[]x=new int[3];其中3是数组的长度,该数组能够存储3个int型变量。
3、使用代码,创建一个长度为5的String型数组,并使用增强for循环迭代数组打印出数组中的元素。
解析:增强for循环是JDK5增加的特性,可以方便地遍历数组或集合。
程序员需要了解的是,如果JDK版本低于5.0,则不支持这个功能。
另外,并不是说有了增强for循环后,传统的for循环就不被使用,增强for循环只能用来方便地遍历数组和集合,其他情况下还要使用传统的for循环。
参考答案:String[] sArray = new String[5];For(String s:sArray){System.out.println(s);}4、说明Arrays类的作用。
解析:在实际工作中,常常需要对数组中的元素进行处理,例如排序等。
初级程序员往往选择自己编写算法实现。
实际上APV中提供了Arrays类,该类中定义了很多和数组有关的工具方法,能够方便地处理数组,是程序员必须掌握的类。
参考答案:Arrays类是java.util包中的一个类,类中所有的方法都是static方法,这些方法都是数组对象的工具方法,能够对数组进行处理,如sort方法可以对数组元素进行排序5、请使用简单代码展示A类依赖B类的含义。
解析:对于程序员来说,了解类和类之间的关系非常必要。
依赖关系指的是一种瞬间的关系。
如果A依赖B,一般指的是A类的某个行为,需要B类对象作为参数。
参考答案:Class A{Public void f(B b)}6、请说明依赖关系和关联关系的区别。