面向对象基础_参考题答案

合集下载

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

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

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 )。

面向对象答案

面向对象答案

一、填空题101 Java中一个类可以有 1 个父类。

102 如果一个类的声明中没有使用extends关键字,这个类被系统默认为是Object 类的子类。

103 子类自然地继承了其父类中不是private 的成员变量作为自己的成员变量。

104 当子类中定义的成员变量和父类中的成员变量同名时,子类的成员变量隐藏了父类的成员变量。

105 子类通过成员变量的隐藏和方法的重写可以把父类的状态和行为改变为自身的状态和行为。

106 对于重写或继承的方法,Java运行时系统根据调用方法的实例的类型来选择调用哪个方法。

107 对于子类创建的一个对象,如果子类重写了父类的方法,则运行时系统调用子类的方法。

108 对于子类创建的一个对象,如果子类继承了父类的方法,未重写,则运行时调用父类的方法。

109 在Java语言中多态性体现在由方法重载实现的静态多态性和方法重写实现的动态多态性。

110 final 类不能被继承,即不能有子类。

111 abstract 类不能创建对象,必须产生其子类,由子类创建对象。

112 如果一个方法被修饰为final 方法,则这个方法不能被重写。

113 对于abstract 方法,只允许声明,而不允许实现。

114 如果一个方法被修饰为final方法,则这个方法不能被重写。

115 如果一个类是一个abstract类的子类,它必须具体实现父类的abstract方法。

116 局部变量的名字与成员变量的名字相同,若想在该方法内使用成员变量,必须使用关键字this 。

117 在关键字中能代表当前类或对象本身的是this 。

118 如果在子类中想使用被子类隐藏的父类的成员变量或方法可以使用关键字super 。

119 子类如果想用父类的构造方法,必须在子类的构造方法中使用,并且必须使用关键字super 来表示。

120 如果在子类中想使用被子类隐藏了的父类成员变量或方法就可以使用关键字super 。

121 Java中为了克服单继承的缺点,使用了接口,一个类可以实现多个接口。

Java面向对象知识测试--A卷-答案

Java面向对象知识测试--A卷-答案

考试宣言: 同学们,考试考多少分不是我们的目的!排在班级多少的名次 也不是我们的初衷!我们考试的目的是要通过考试中的题目.检査大家在这段时间的 学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会 做,又或者做错了,那么不用怕,考完试后,导师讲解的时候你要 注意听!那时候学会了,记住了,也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。

单选2 分/题,多选4分/题。

多选题不全对半分,全对满分。

A. 要有子类继承或实现父类中被priva t e 权限修饰的方法可以被子类逍写D. 子类重写接口中的抽象方法,子类的方法权限必须是publ i C 的/ /接口 所有方法前面都是默认publ 1 C ab $ t rac t2.下而关于类的设汁思路描述错误的是{A. °根据需求;^^义类所包含的字段(成员变量)B. 根据而向对象的思想要求,隐藏属性和实现细节之后,可以提供公共的访问方式C. °封装之后的字段在本类内也必须使用get/s et 方法/ /p riva t e 修饰之后可以在本类中直接使用,不需要通过get/se t 方法调用D.按需求可以在类中定义若干构造方法1. 下面描述函数重写错误的是oB. 6子类方法的权限必须大于等于父类的权限dC ・3. 分析如下Java代码,如果想在控制台上输出*、B类的tes t ()方法J则在主函数应填入()。

Class A {pub I i c V 0 id tes t () {Sys t em. out .pr i nt I n (*'A 类的test ()方法"):class B e X ten d s A {publ i c void test () {S ystem.o pri n t 1 n ("B 类的test ()方法");p ublic sta t i c v o id ma in (Strin g args []) {A a = new 3();6 a.t e st ();B . A a = new A {);test ():6 B b = n e w A ();b. t est ();D.new B()・ t e s t ():4. 关于封装下而介绍错误的是()o0 A- ,封装隐藏实现细yr0 B . 封装提高重用性。

面向对象测试题及答案

面向对象测试题及答案

面向对象测试题及答案一、选择题(每题2分,共20分)1. 面向对象编程(OOP)的核心概念不包括以下哪一项?A. 类B. 继承C. 多态D. 过程2. 在Java中,以下哪个关键字用于定义类?A. classB. typeC. structD. interface3. 下列哪个选项不是Java中访问控制的关键字?A. publicB. privateC. protectedD. global4. 封装是面向对象编程的一个重要特性,它主要指的是:A. 将数据和操作数据的方法组合在一起B. 将所有数据都设为公开访问C. 只允许通过特定的方法访问数据D. 将数据和方法分离5. 在Java中,以下哪个不是构造方法的特点?A. 与类名相同B. 没有返回类型C. 可以重载D. 可以被继承6. 继承在面向对象编程中允许:A. 一个类只能继承一个类B. 一个类可以继承多个类C. 一个类可以继承多个接口D. 一个类可以同时继承多个类和接口7. 接口在Java中的主要作用是:A. 定义类B. 实现多继承C. 定义方法的实现D. 定义方法的签名8. 以下哪个是Java中实现多态的方式?A. 继承B. 接口C. 重载D. 重写9. 抽象类在Java中不能:A. 被实例化B. 包含抽象方法C. 包含具体方法D. 被继承10. 下列哪个不是Java集合框架中接口?A. ListB. SetC. MapD. Array二、简答题(每题5分,共30分)1. 简述面向对象编程的三大特性。

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

3. 什么是封装?封装在Java中是如何实现的?4. 什么是接口?接口和抽象类有什么区别?5. 什么是构造方法?构造方法的作用是什么?6. 什么是继承?继承在Java中是如何实现的?三、编程题(每题25分,共50分)1. 编写一个Java程序,定义一个名为`Car`的类,包含以下属性和方法:- 属性:品牌(String类型),颜色(String类型),速度(int 类型)- 方法:启动汽车(startCar),加速(accelerate),减速(decelerate)2. 在上述`Car`类的基础上,创建一个名为`ElectricCar`的子类,继承`Car`类,并添加一个额外的属性:电池电量(int类型),并重写`startCar`方法以显示电动汽车启动的信息。

自测题-8(面向对象一)(答案)

自测题-8(面向对象一)(答案)

自测题-8(面向对象一)(答案)C/C++测试题面向对象选择题:C++概述1、以下C++新增的关键字为。

A break B continue C stuctD inline //答案:D2、面向对象程序设计将数据与______放在一起,作为相互依存、不可分割的整体来处理。

A对数据的操作B信息C数据隐藏D数据抽象//答案:A3、面向对象程序设计优于传统的结构化程序设计,其优越性主要表现在,它有希望解决软件工程的两个主要问题:软件复杂性和______。

A 软件生产率的提高B 精化已有的代码C 共享代码D 编写可重用代码//答案:A4、面向对象系统的______是一种信息隐藏技术,目的在与将对象的使用者与设计者分开,使用者不必知道对象行为实现的细节,只需用设计者提供的协议命令对象去做即可。

A多态性B 封装性C继承性D复用性//答案:B5、______不是面向对象系统所包含的要素A重载B对象C 类D继承//答案:A6、关于C++与C语言的关系的描述中,______是错误的。

A C语言是C++的一个子集B C++与C语言是兼容的C C++对C语言进行了一些改进D C++与C语言都是面向对象的//答案:D7、下面关于对象概念的表述中,______是错误的。

A 对象就是C语言中的结构变量B 对象代表着正在创建的系统中的一个实体C 对象是一个状态和操作(或方法)的封装体D 对象之间的信息传递是通过信息进行的//答案:A8、下面关于类概念的表述中,______是错误的。

A 类是抽象数据类型的实现B 类是具有共同行为的若干对象的统一描述体C 类是创建对象的样板D 类就是C语言中的结构类型//答案:D9、下列关于C++类的描述中错误的是______。

A 类与类之间可以通过一些手段进行通信和联络 B 类用于描述事物的属性和对事物的操作C 类与类之间必须是平等关系,而不能组成层次关系D 类与类之间可以通过封装而具有明确的独立性//答案:C10、下列关键字中,_______既在C语言中使用,又在C++语言中使用 A inline B break C private D public //答案:B11、C++对C语言做了很多改进。

java面向对象编程练习题及答案

java面向对象编程练习题及答案

java面向对象编程练习题及答案一、选择题1. 在Java中,以下哪个关键字用于定义类?A. structB. classC. interfaceD. enum2. Java中的继承是:A. 多重继承B. 单一继承C. 无继承D. 可选继承3. 以下哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. 所有选项都是4. 以下哪个不是Java对象的三个基本特征?A. 封装B. 继承C. 多态D. 线程5. 以下哪个方法用于获取对象的内存地址?A. hashCode()B. equals()C. getClass()D. toString()二、简答题1. 解释Java中的封装是什么,并给出一个封装的例子。

2. 描述Java中的继承是如何工作的,并给出一个继承的例子。

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

三、编程题1. 创建一个名为`Car`的类,它具有以下属性:- 品牌(String)- 型号(String)- 年份(int)并为这些属性提供getter和setter方法。

2. 创建一个名为`ElectricCar`的类,它继承自`Car`类,并添加以下属性:- 电池电量(int)实现`ElectricCar`类,并重写`toString()`方法,以显示电动汽车的详细信息。

3. 创建一个名为`VehicleTest`的类,它包含`main`方法。

在`main`方法中,创建`Car`和`ElectricCar`的实例,并打印它们的状态。

四、代码分析题1. 阅读以下Java代码片段,并解释它的作用:```javapublic class Person {private String name;private int age;public Person(String name, int age) { = name;this.age = age;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}```2. 阅读以下Java代码片段,并指出可能的错误:```javapublic class Animal {public void speak() {System.out.println("The animal makes a sound");}}public class Dog extends Animal {@Overridepublic void speak() {System.out.println("The dog barks");}}public class Cat extends Animal {@Overridepublic void speak() {System.out.println("The cat meows");}}public class TestAnimals {public static void main(String[] args) {Animal myDog = new Dog();Animal myCat = new Cat();myDog.speak();myCat.speak();}}```五、论述题1. 论述Java面向对象编程中接口与抽象类的区别,并给出使用场景。

第7章 面向对象的程序设计基础 答案

第7章  面向对象的程序设计基础 答案

第7章面向对象的程序设计基础答案一、单项选择题1.D2.A3.D4.D5.A6.A7.C8.D9.C 10.A 11.C 12.C 13.A 14.A 15. D 16.A 17.D 18. A 19.C 20.B 21.D 22.A23.C二、多项选择题1.B C2.A B D3.B C D4.A B C5.B C6.A B7.A B C D8.A B D9.A B D10.A B C D三、填空题1.事件方法2.封装性多态性3.容器类控件类容器类对象控件类对象4.类对象5.绝对引用相对引用6.This ThisForm ThisFormset Parent四、面向对象程序设计题1.(1)新建如图7-1所示的表单:图7-1 显示当前系统日期和时间表单(2)在相应的事件过程中,编写如下代码:a)a)在文本框Text1的Click事件中,写入如下代码:this.value=date()b)在文本框Text1的DblClick事件中,写入如下代码:this.value=time()C)在命令按钮Command1的Click事件中,写入如下代码:thisform.text1.value=""d)在命令按钮Command2的Click事件中,写入如下代码:thisform.release(3)运行表单,结果如图7-2所示:注:“删除”为command1按钮,“退出”为command2按钮。

2.(1)新建如图7-3所示的表单:(2)在相应的事件过程中,编写如下代码:a ) a ) 在表单Form1的ACTIV ATE 事件中,写入如下代码: thisform.text3.setfocus public n n=0b ) b ) 在文本框Text1的Click 事件中,写入如下代码:this.value=date()c ) c ) 在文本框Text2的Click 事件中,写入如下代码:this.value=time()d )在命令按钮Command1的Click 事件中,写入如下代码: ma=thisform.text3.valuek1=str(month(date()),2)+str(day(date()),2) k2=subs(time(),1,2) k=k1+k2 k=allt(k)if allt(ma)=kbel3.caption="欢迎使用本系统!" elsen=n+1 if n=3bel3.caption="您无权使用本系统!" thisform.text3.enabled=.f.mand1.enabled=.f.图7-2 显示当前系统的日期和时间的运行结果图7-3 密码输入表单elsebel3.caption="口令错,请重新输入口令!" thisform.text3.value="" thisform.text3.setfocus endif endife )在命令按钮Command2的Click 事件中,写入如下代码: thisform.release(3)运行结果如图7-4所示:注:“确定”为command1按钮,“关闭”为command2按钮。

面向对象_练习

面向对象_练习

课堂练习一、填空题1、对象是抽象的类,类的具体化就是()。

2、继承性是父类和子类之间()和消息的机制。

3、面向对象的设计的主要目标是提高生产效率,提高质量和提高()。

4、对象模型描述了系统的(),它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。

5、面向对象技术中的“类”,是比较理想的()。

参考答案:1.对象2、共享数据结构3、可维护性4、静态结构5、可重用软构件二、判断题1、继承性是父类和子类之间共享数据结构和消息的机制,这是类之间的一种关系。

()2、多态性增强了软件的灵活性和重用性,允许用更为明确、易懂的方式去建立通用软件,多态性和继承性相结合使软件具有更广泛的重用性和可扩充性。

( )3、面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程。

( )4、面向对象的设计的主要目标是提高生产效率,提高质量和提高可维护性。

()5、对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。

()参考答案:1、(×) 2、(×) 3、(√) 4、(√) 5、(√)三、多项选择题1、面向对象程序设计的基本机制()。

A) 继承B) 消息C) 方法D) 结构E)抽象2、下列属于Coad方法中面向对象的分析模型的层次有()。

A) 主题层B) 对象层C) 应用层D) 接口层E)数据层3、一个类属性依其特征划分,其类型有()。

A) 描述型B) 定义型C) 派生型D) 参考型E)应用型4、在进行面向对象分析时,所采用的模型有()。

A) 对象模型B) 动态模型C) 静态模型D) 功能模型E)接口模型5、状态是对象属性的值的一种抽象,它的性质有()。

A) 时间性B) 持续性C) 有序性D) 有穷性E)无序性参考答案:1、ABC 2、AB 3、ABCD 4、ABD 5、AB 四、问答题1、什么是面向对象方法学?它有哪些优点?参考答案:面向对象方法是一种运用对象、类、继承、封装、聚合、消息、多态等概念来构造系统的软件开发方法。

面向对象基础_参考题答案

面向对象基础_参考题答案

⾯向对象基础_参考题答案⼀、【必做题】1.(1)定义⼀个⼈类Person:1)定义⼀个⽅法sayHello(),可以向对⽅发出问候语“hello,my name is XXX”2)有三个属性:名字、⾝⾼、体重(2)定义⼀个PersonCreate类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.742)分别调⽤对象的sayHello()⽅法。

(答案:Person.java、PersonCreate.java)2.(1)定义⼀个⼈类Person:1)定义⼀个⽅法sayHello(),可以向对⽅发出问候语“hello,my name is XXX”2)有三个属性:名字、⾝⾼、体重3)通过构造⽅法,分别给三个属性赋值(2)定义⼀个Constructor类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.742)分别调⽤对象的sayHello()⽅法。

(答案:Constructor.java、或者是Person3.java)3.(1)定义⼀个矩形类Rectangle:1)定义三个⽅法:getArea()求⾯积、getPer()求周长,showAll()分别在控制台输出长、宽、⾯积、周长。

2)有2个属性:长length、宽width3)通过构造⽅法Rectangle(int width, int length),分别给两个属性赋值(答案:Rectangle.java)4.定义⼀个点类Point,包含2个成员变量x、y分别表⽰x和y坐标,2个构造器Point()和Point(int x0,y0),以及⼀个movePoint(int dx,int dy)⽅法实现点的位置移动。

()public class Point {private int x0;private int y0;public Point(){}public Point(int x0,int y0){t his.x0=x0;this.y0=y0;}public void movePoint(int dx,int dy){t his.x0 = this.x0 + dx;t his.y0 = this.y0 + dy;}}5.编写⼀个程序,创建两个Point对象p1、p2,分别调研movePoint⽅法后,打印p1和p2的坐标。

Java 面向对象编程练习题及答案

Java 面向对象编程练习题及答案

Java 面向对象编程练习题及答案题目一:洗衣机类设计描述:设计一个洗衣机类,具有以下属性和方法:属性:- 品牌(brand):字符串类型,表示洗衣机的品牌- 容量(capacity):整型,表示洗衣机的容量(以公斤为单位)- 是否开机(isOn):布尔类型,表示洗衣机是否处于开机状态方法:- 开机(turnOn):将洗衣机的状态设置为开机- 关机(turnOff):将洗衣机的状态设置为关机- 洗衣服(washClothes):接收一个整型参数 clothesWeight,表示待洗衣物的重量(以公斤为单位)。

如果洗衣机处于开机状态,并且洗衣机容量足够洗这些衣物,则打印出洗衣机正在洗衣服;否则,打印出洗衣机无法洗衣物。

答案一:```javapublic class WashingMachine {private String brand;private int capacity;private boolean isOn;public WashingMachine(String brand, int capacity) { this.brand = brand;this.capacity = capacity;this.isOn = false;}public void turnOn() {this.isOn = true;}public void turnOff() {this.isOn = false;}public void washClothes(int clothesWeight) {if (isOn && clothesWeight <= capacity) {System.out.println("洗衣机正在洗衣服");} else {System.out.println("洗衣机无法洗衣物");}}}```题目二:学生类设计描述:设计一个学生类,具有以下属性和方法:属性:- 姓名(name):字符串类型,表示学生的姓名- 年龄(age):整型,表示学生的年龄- 成绩(score):整型,表示学生的成绩方法:- 构造方法(Constructor):接收姓名、年龄和成绩作为参数,创建一个学生对象- 获取姓名(getName):返回学生的姓名- 获取年龄(getAge):返回学生的年龄- 获取成绩(getScore):返回学生的成绩答案二:```javapublic class Student {private String name;private int age;private int score;public Student(String name, int age, int score) { = name;this.age = age;this.score = score;}public String getName() {return name;}public int getAge() {return age;}public int getScore() {return score;}}```题目三:图书馆管理系统设计描述:设计一个图书馆管理系统,包含图书(Book)、图书馆(Library)和借阅者(Borrower)三个类。

java面向对象试题及答案

java面向对象试题及答案

java面向对象试题及答案1. 试题一题目:什么是面向对象编程?请简要描述面向对象编程的优势和特点。

答案:面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,将程序中的数据和操作数据的方法进行了封装,使得程序更加模块化和易于理解。

面向对象编程的主要特点包括封装、继承和多态。

封装使得数据和对数据的操作集中在一个对象中,可以隐藏内部实现细节,提供公共的接口进行访问,增加了程序的安全性和灵活性。

继承允许新建的类继承已有类的属性和方法,通过扩展和重写已有类的功能,减少了代码的重复性,提高了代码的复用和可维护性。

多态允许不同的对象对相同的消息作出不同的响应,通过接口和抽象类的使用,实现了更加灵活和可扩展的程序设计。

面向对象编程的优势包括了代码的重用性、可维护性、可扩展性和灵活性。

通过封装和继承的应用,可以减少代码重复,提高开发效率,并且通过多态的应用,可以实现程序的灵活性,方便后续的扩展和修改。

2. 试题二题目:什么是类?请简要描述类的特点和组成部分。

答案:类是面向对象编程中的核心概念,是对一类具有相同属性和行为的对象进行抽象和封装的模板。

类是用来创建对象的蓝图,可以通过实例化类来创建对象。

类的特点包括了封装、继承和多态。

类通过封装将属性和方法进行了封装,提供了公共的接口与外部进行交互,隐藏了内部实现细节。

继承允许新建的类继承已有类的属性和方法,在原有基础上进行修改和扩展。

多态允许不同的对象对相同的消息作出不同的响应,实现了程序的灵活性和可扩展性。

类的组成部分包括了属性(Field)和方法(Method)。

属性(也称为成员变量)用于描述对象的状态,可以是基本类型或其他类的对象。

方法用于描述对象的行为,可以是处理属性的操作,也可以是其他业务逻辑的实现。

3. 试题三题目:请简要解释传值和传引用的区别,并用代码示例说明。

答案:传值和传引用是在方法调用时,参数传递的两种方式。

面向对象技术(答案)

面向对象技术(答案)

●下面关于面向对象方法中消息的叙述,不正确的是____(2)__。

(2)A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同正确答案:B【解析】在系统中既使用对象又使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此的通信,这样的方法才称为"面向对象的方法"。

●面向对象技术中,对象是类的实例。

对象有三种成份:____(3)____、属性和方法(或操作)。

(3) A. 标识B. 规则C. 封装D. 消息正确答案:A解析:对象有三种成份:标识(对象名)、属性和方法(或操作)。

●在面向对象技术中,类属是一种__(1)__机制。

一个类属类是关于一组类的一个特性抽象,它强调的是这些类的成员特征中与__(2)__的那些部分,而用变元来表示与__(3)__的那些部分。

(1)A.包含多态B.参数多态C.过载多态D.强制多态(2)A.具体对象无关B.具体类型无关C.具体对象相关D.具体类型相关(3)A.具体对象无关B.具体类型无关C.具体对象相关D.具体类型相关解析:在面向对象技术中,对象在收到信息后要予以响应。

不同的对象收到同一消息可产生完全不同的结果,这一现象称为多态。

多态有多种不同的形式,其中参数多态和包含多态称为通用多态,过载多态和强制多态成为特定多态。

参数多态应用比较广泛,被称为最纯的多态。

这是因为同一对象、函数或过程能以一致的形式用于不同的类型。

包含多态最常见的例子就是子类型化,即一个类型是另一类型的子类型。

过载多态是同一变量被用来表示不同的功能,通过上下文以决定一个类所代表的功能。

即通过语法对不同语义的对象使用相同的名,编译能够消除这一模糊。

强制多态是通过语义操作把一个变元的类型加以变换,以符合一个函数的要求,如果不做这一强制性变换将出现类型错误。

java面向对象考题和答案

java面向对象考题和答案

1.下面代码的输出结果是A.300 300B.100 100C.300 100D.100 3002.程序执行的结果是:::x =" + x++; }}A.doStuff:x =7B. main: x = 7B.doStuff:x =7main: x = 6C.doStuff:x =6main: x = 7D.doStuff:x =6main: x = 63.下列关于JVM的内存结构描述正确的是:A.类的各种信息在方法区中保存B.堆用于存放程序运行过程当中所有的局部变量C.栈用于存储使用new关键字创建的对象D.数组属于JVM的内存结构4.下列代码的输出结果是:A.cB.iC.dD.s5.程序执行的结果是:A.nullB.TomC.JackD." "6.关于构造方法,下列说法错误的是:A.构造方法不可以进行方法重写B.构造方法用来实例化一个新的对象C.构造方法具有和类名相同的名称D.构造方法不返回任何数据类型7.关于 Java 中继承的特点,下列说法正确的是:A.使类的定义复杂化B.Java 只支持单继承,不可多继承,但可以通过实现接口来达到多继承的目的C.子类继承父类的所有成员变量和方法,包括父类的构造方法D.不可以多层继承,即一个类不可以继承另一个类的子类8.下列代码运行的结果是:A.Value: 3B.Value: 8C.Value: 13D.Value: 189.下列代码编译和运行的结果是:A.输出:0000B.输出:4321C.代码public EmployeeString id {行,出现编译错误D.抛出运行时异常10.下列代码的运行结果是:A.peepB.barkC.meowD.抛出运行时异常11.下列代码编译和运行的结果是:A.输出:TestAB.输出:TestBC.输出:TestA TestBD.编译错误12.请看下列代码:class One {void foo {}}class Two extends One {// insert method here}下列选项中的代码,放置在<插入代码>处无编译错误的是: A.int foo { / more code here / }B. protected void foo { / more code here / }C. public void foo { / more code here / }D. private void foo { / more code here / }13.下列选项中,不属于Java 的访问修饰符的是:A.privateB.protectedC.friendlyD.public14.下列代码的输出结果是:A.300-100-100-100-100B.300-300-100-100-100C.300-300-300-100-100D.300-300-300-300-10015.下列代码运行的结果是:public class Base { public static final String FOO = "foo";A.foofoofoofoofooB.foobarfoobarbarC.foobarfoofoofooD.foobarfoobarfoo16.关于下列代码说法正确的是:A.编译错误B.运行时抛出异常C.运行后,fa对象属性id的值没有改变,应然是42D.运行后,fa对象属性id的值改变成新的值6917.请看下列代码编译和运行的结果是:A.sun 2B.null 2C.null 1D.运行时抛出NullPointerException异常18.下列代码的输出结果是:A.0, 0,0B.150, 60, 0C.150, 150, 150D.抛出运行时异常19.请看下列代码:public abstract class Employee {protected abstract double getSalesAmount;public double getCommision {return getSalesAmount 0.15;estA {}}class Sales extends Employee {<插入代码>}在<插入代码>处填入的方法正确的是:A.double getSalesAmount { return 1230.45; }B.public double getSalesAmount { return 1230.45; }C.private double getSalesAmount { return 1230.45; }D.protected double getSalesAmount { return 1230.45; }20.关于下列代码说法正确的是:public interface A { public void doSomethingStringthing;}public class AImpl implements A { public void doSomethingString msg { }}public class B { public A doit { return null; } public String execute { return null; }}public class C extends B { public AImpl doit { return null; } public Object execute { return null; }} A. 所有类和接口都编译成功 B.类B编译失败C.类Aimpl编译失败D.类C编译失败21.关于下列代码说法正确的是:interface A { public void aMethod;}interface B { public void bMethod;}interface C extends A, B { public void cMethod;}class D implements B { public void bMethod {}}class E extends D implements C { public void aMethod {} public void bMethod {} public void cMethod {}}A.编译失败B.如果定义D e = new E;, 那么 e.bMethod;调用D类的bMethod方法C.如果定义D e = Dnew E;, 那么 e.bMethod;调用D类的bMethod方法D.如果定义D e = Dnew E;, 那么 e.bMethod;调用E类的bMethod方法22.请看下列代码:处理请求";}};}}如果上述代码采用回调模式编写,下列关于ServletAction的定义正确的是:A. public static class ServletAction { public void doService;}B.public final class ServletAction { public void doService;}C.public class ServletAction { public void doService;}D. public interface ServletAction { public void doService;}23.下列代码运行的结果是:A.HelloB. Hello WorldC. Hello World 5D.运行后无输出24.请看下列代码编译和运行的结果是:A.输出:testB.输出:nullC.代码行,编译出错D.代码public String toString {行,编译出错25.请看下列代码:关于上述代码说法正确的是:A.在第5行出现编译错误,fn方法的参数必须用final修饰B.在第3行出现编译错误,在方法的内部不能写类C.在第8行出现编译错误,在方法的内部不能实例化Inner类的对象D.运行代码,控制台输出100A1,正确答案:C2,正确答案:D3,正确答案:A4,正确答案:A5,正确答案:B6,正确答案:B7,正确答案:B8,正确答案:A9,正确答案:C10,正确答案:D11,正确答案:B 12,正确答案:BC 13,正确答案:C 14,正确答案:B 15,正确答案:D 16,正确答案:A 17,正确答案:D 18,正确答案:C 19,正确答案:BD 20,正确答案:D 21,正确答案:D 22,正确答案:D 23,正确答案:A 24,正确答案:A 25,正确答案:A。

面向对象技术样题(附答案)

面向对象技术样题(附答案)

一、选择题(20分,共10题,每题2分)1. 关于方法论与方法的关系的描述错误的是(B )A.方法论是一种观点,是一个有理论意义的架构。

B.方法包括理论与模型两个重要的方面。

C.面向对象的方法论的重要观点是:封装、数据隐藏、多态、关系等。

D.不同的方法可以属于同一种方法论。

2.关于信息隐藏的描述错误的是(C)A.信息隐藏是指对象在与外界的交互中,尽可能地隐藏对象的内部细节,仅保留有限的对外接口与外部进行联系。

B.信息隐藏既可以隐藏属性,也可以隐藏操作。

C.一个对象信息隐藏的内容对任何对象都是一样的,并不随与之交互的对象的不同而改变。

D.信息隐藏的原则是公开不变的操作,隐藏易变的操作。

3.关于多态的描述正确的是(D)A.多态是指在聚合关系中的各个类中名字相同的属性和操作具有不同的意义。

B.多态的实现机制是编译时静态链接。

C.函数名重载(overload) 会导致多态现象出现。

D.多态可实现接口复用,节省大量的编码工作量.4.关于重载(overload)与覆盖(override)的说法正确的是(D)。

A.如果子类中的成员函数f(x)具有父类中成员函数f(x)相同的函数名,那么称子类对父类的f(x)进行了覆盖。

B.如果子类中的成员函数f(x)具有父类中成员函数f(x)相同的基调,那么称子类对父类的f(x)进行了重载。

C.重载导致多态,覆盖与多态无关。

D.覆盖由动态链接实现,重载由静态链接实现。

5.关于用况图与类图的描述正确的是(D)。

A.参与者是用况图中的元素,类是类图中的元素,二者没有关系。

B.用况图中用况应全部识别为类图中的同名类。

C.用况图中参与者应全部识别为类图中的同名类。

D.用况图中参与者有可能识别为类图中的主动类6.关于状态图的陈述正确的是(C)A.一个对象自身的属性值变化不能作为其状态图中的事件。

B.历史状态是指一个对象以前曾经所处的状态集合。

C.动作是在状态内或在转化时所做的操作,是原子的和即时的。

java面向对象试题及答案

java面向对象试题及答案

java面向对象试题及答案一、单选题(每题2分,共10分)1. 在Java中,下列哪个关键字用于定义一个类?A. classB. interfaceC. structD. enum答案:A2. Java中,哪个关键字用于定义一个私有方法?A. privateB. publicC. protectedD. default答案:A3. 下列哪个选项不是Java中的访问修饰符?A. privateB. publicC. protectedD. static答案:D4. 在Java中,哪个关键字用于实现多态?A. abstractB. finalC. staticD. interface答案:A5. 在Java中,下列哪个关键字用于定义一个接口?A. classB. interfaceC. structD. enum答案:B二、多选题(每题3分,共15分)1. 在Java中,下列哪些关键字用于定义一个类的方法?A. publicB. privateC. protectedD. static答案:A, B, C, D2. 下列哪些关键字用于实现类的继承?A. extendsB. implementsC. abstractD. final答案:A3. 在Java中,下列哪些关键字用于定义类的成员变量?A. privateB. publicC. protectedD. static答案:A, B, C, D4. 下列哪些关键字用于定义类的构造方法?A. constructorB. thisC. newD. super答案:B, D5. 在Java中,下列哪些关键字用于定义接口的常量?A. privateB. publicC. staticD. final答案:B, C, D三、判断题(每题2分,共10分)1. Java中,一个类可以继承多个类。

(错误)2. Java中,接口可以继承接口。

(正确)3. Java中,一个类可以继承多个接口。

面向对象编程基础考试

面向对象编程基础考试

面向对象编程基础考试(答案见尾页)一、选择题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. 面向对象编程是一种编程范式,它使用“对象”来表示数据和方法。

面向对象参考答案整理

面向对象参考答案整理

客观世界是由对象组成,任何客观实体都是对象,复杂对象可以由简单对象组成。

具有相同属性和操作的对象可归纳成类,对象是类的一个实例。

类可以派生出子类,子类除了继承父类的全部特性外还可以有自己的特性。

对象之间的联系通过消息传递来维系。

封装是面向对象方法的一个重要原则,封装有两个含义:结合性即将属性和方法结合;信息隐蔽性利用接口机制隐蔽内部细节。

继承性是指子类可以自动拥有父类的全部属性与操作的机制。

继承可分为单重继承和多重继承两类。

继承简化了对现实世界的描述定义子类时不必定义那些在父类中已经定义过的属性和操作使软件的复用性提高。

多态性是指同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。

2 什么是分解、耦合度和内聚度?耦合度是从模块外部考察模块的独立性程度。

模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。

模块间耦合高低取决于模块接口的复杂性、调用的方式及传递的消息。

内聚度(Cohesion)是模块内部各成份(语句或语句段)之间的联系。

模块内部各成份联系越紧,即其内聚度越大,模块独立性就越强。

分解:将系统分为更小成分3 什么是动态绑定?动态绑定,是指在程序运行时才将消息所请求的操作与实现该操作的方法进行连接。

4 什么是用例图,用例图有哪些部分组成。

用例是从用户的观点对系统行为的一个描述,特定的环璄下,特定的目标相关的系统与用户之间的一组可能的交互序列组成.用例图显示谁将是相关的用户、用户希望系统提供什么服务以及用户需要为系统提供的服务。

用例图包含6个元素:参与者(Actor)、用例(Use Case)、关联关系(Association)包含关系(Include)、扩展关系(Extend)、泛化关系(Generalization)5 用例图中参与者之间的关系有哪些?用例之间的关系有哪些?参与者之间的关系:泛化关系用例之间的关系:关联关系、包含关系、扩展关系、泛化关系地位:用例图显示了用例和活动者之间、用例之间、以及活动者之间的关系,这种关系描述了模型元素之间的语义联系。

面向对象基础应用习题答案[1]

面向对象基础应用习题答案[1]

Java语言面向对象基础(答案)一、填空题1.类是一组具有相同(属性)和(行为)的对象的抽象。

(实例)是由某个特定的类所描述的一个个具体的对象。

2.(接口)只描述系统所提供的服务,而不包含服务的实现细节。

3.构造方法的方法名与(类名)相同,若类中没有定义任何的构造方法,则运行时系统会自动为该类生成一个(默认构造)方法。

4.在方法体内定义的变量是(局部变量),其前面不能加(public),且必须(初始化)。

5.数组元素作实参时对形参变量的数据传递是(单向值传递),数组名作实参时对形参变量的数据传递是(双向引用传递)。

6.对象作方法形参时,方法实参也用对象,实现(引用)调用。

7.( new)是一个特殊的方法,用于创建一个类的实例。

8.(类)变量在内存中只有一个拷贝,被该类的所有对象共享;每当创建一个实例,就会为(实例)变量分配一次内存,(实例)变量可以在内存中有多个拷贝,互不影响。

二、简答题1.名词解释:抽象、对象、类、实例、方法、属性、消息、接口、封装、继承、多态性抽象:是从被研究的对象中舍弃个别的,非本质的或与研究主旨无关的次要特征,而抽取与研究有关的共性内容加以考察,形成对被研究问题的正确的、简明扼要的认识。

对象:是对客观事物的抽象,是类的实例。

类:对对象的抽象,是一种抽象的数据类型。

实例:也就是对象,对象也被称为类的实例化。

方法:类的行为,事物动态特征的抽象。

属性:数据成员,是事物静态特征的抽象。

消息:p65接口:p87封装:p61继承:p66多态性:p702.简述面向对象的基本思想、主要特征和基本要素。

P59,主要特征是封装、继承和多态3.为什么要对类进行封装?封装的原则是什么?P59:高内聚,松耦合4.类的封装性、继承性和多态性各自的内涵是什么?第五章内容5.什么是对象?什么是类?二者有何关系?类是对象的模板,对象是类的实例。

以类为模板可以创建不同的对象。

6.Java中类定义的一般格式是什么?定义类的修饰符有哪些?各自的特点是什么?P607.Java中成员变量定义的一般格式是什么?成员变量有哪些修饰符?P39、p50、p618.Java中成员方法定义的一般格式是什么?成员方法有哪些修饰符?P39、p50、p619.简述构造方法的特点与作用。

c#面向对象试题及答案

c#面向对象试题及答案

一、选择题:1、下列关于类的描述中,错误的是( A )。

A.类就是C语言中的结构类型B.类是创建对象的模板C.类是抽象数据类型的实现D.类是具有共同行为的若干对象的统一描述体2、下列常量中,不是字符常量的是( B )。

A.'\n' B."y"C.'x' D.'\7'3、下列表达式中,其值为0的是( A )。

A.5/10 B.!0C.2>4?0:1 D.2&&2||04、下列关于数组维数的描述中,错误的是( C )。

A.定义数组时必须将每维的大小都明确指出B.二维数组是指该数组的维数为2C.数组的维数可以使用常量表达式D.数组元素个数等于该数组的各维大小的乘积5、下列关于字符数组的描述中,错误的是( D )。

A.字符数组中的每一个元素都是字符B.字符数组可以使用初始值表进行初始化C.字符数组可以存放字符串D.字符数组就是字符串6、已知:int a[5] = {1, 2, 3, 4}; 下列数组元素值为2的数组元素是( B )。

A.a[0] B.a[1]C.a[2] D.a[3]7、下列while循环语句的循环次数是( A )。

while(int i(0)) i--;A.0 B.1C.2 D.无限8、已知:int a[ ]={1,2,3,4,5},*p=a;在下列数组元素地址的表示中,正确的是( C )。

A.&(a+1) B.&(p+1)C.&p[2] D.*p++9、已知:int a=1,b=2,*p[2];下列表达式中正确的是( C )。

A.p=&a B.p=&bC.p[0]=&a,p[1]=&b D.p[ ]={&a,&b};10、当一个函数没有返回值时,该函数类型应说明为( A )。

A.void B.intC.无D.任意11、下列关于类的定义格式的描述中,错误的是( C )。

Java程序设计(面向对象基础)期末单元测试与答案

Java程序设计(面向对象基础)期末单元测试与答案

一、单选题1、下面关于类的描述错误的是()。

A.类的实现包括类声明和类体两部分B.一个包可以包含多个类C.类的方法都由方法头和方法体组成D.一个Java程序可以有多个公共类正确答案:D2、关于面向对象概念的描述不正确的是()。

A.程序中的对象等同于现实生活中的对象B.对象描述的是客观世界的实体C.在Java中通过类来描述对象D.类是具有相同特征的若干对象的模板正确答案:A3、下列构造方法的调用方式中,正确的是()。

A.按照一般方法调用B.只能通过new自动调用C.被系统调用D.由用户直接调用正确答案:B4、对于下面()类定义,可以通过“new J_Class()”生成类J_Class 的实例对象。

A.public class J_Class {public J_Class(void) {}}B.public class J_Class { }C.public class J_Class {public void J_Class() {}public J_Class(String s) {}}D.public class J_Class {public J_Class(String s) {}}正确答案:B5、在Java中,下面对于构造函数的描述正确的是()。

A.构造函数和类有相同的名称,并且不能带任何参数B.构造函数的返回类型是voidC.一个类可以定义多个构造函数D.类必须显式定义构造函数正确答案:C6、下列关于包的描述中,错误的是()。

A.包是使用package语句创建的B.包是若干个类的集合C.包是一种特殊的类D.包有有名包和无名包两种正确答案:C7、下面关于包的描述中,错误的是()。

A.包分为有名包和无名包两种B.包是若干对象的集合C.使用package语句创建包D.使用import语句引入包正确答案:B二、填空题1、类是一组具有相同()和()的对象的抽象。

()是由某个特定的类所描述的一个个具体的对象。

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

一、【必做题】1.(1)定义一个人类Person:1)定义一个方法sayHello(),可以向对方发出问候语“hello,my name is XXX”2)有三个属性:名字、身高、体重(2)定义一个PersonCreate类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.742)分别调用对象的sayHello()方法。

(答案:Person.java、PersonCreate.java)2.(1)定义一个人类Person:1)定义一个方法sayHello(),可以向对方发出问候语“hello,my name is XXX”2)有三个属性:名字、身高、体重3)通过构造方法,分别给三个属性赋值(2)定义一个Constructor类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.742)分别调用对象的sayHello()方法。

(答案:Constructor.java、或者是Person3.java)3.(1)定义一个矩形类Rectangle:1)定义三个方法:getArea()求面积、getPer()求周长,showAll()分别在控制台输出长、宽、面积、周长。

2)有2个属性:长length、宽width3)通过构造方法Rectangle(int width, int length),分别给两个属性赋值(答案:Rectangle.java)4.定义一个点类Point,包含2个成员变量x、y分别表示x和y坐标,2个构造器Point()和Point(int x0,y0),以及一个movePoint(int dx,int dy)方法实现点的位置移动。

()public class Point {private int x0;private int y0;public Point(){}public Point(int x0,int y0){t his.x0=x0;this.y0=y0;}public void movePoint(int dx,int dy){t his.x0 = this.x0 + dx;t his.y0 = this.y0 + dy;}}5.编写一个程序,创建两个Point对象p1、p2,分别调研movePoint方法后,打印p1和p2的坐标。

public class Point {private int x0;private int y0;public Point(){}public Point(int x0,int y0){t his.x0=x0;this.y0=y0;}public void movePoint(int dx,int dy){t his.x0 = this.x0 + dx;t his.y0 = this.y0 + dy;}}6.(1)定义一个动物类Creature1)定义一个方法setSnarl(Cat cat)可以设置动物发出猫的声音2)setSnarl(Dog dog)可以设置动物发出狗的声音3)定义一个outPut()方法,可以输出动物的声音(2)要求定义一个猫类Cat,具有猫的声音,将猫类传入动物类Creature的吼叫方法setSnarl(Cat cat)可以设置动物发出猫的声音(3)要求定义一个狗类Dog,具有狗的声音,将狗类传入动物类Creature的吼叫方法setSnarlDog dog)可以设置动物发出狗的声音(4)定义一个Sound类,在main方法里调用Creature类的setSnarl()和outPut()方法分别设置动物的声音和输出动物的声音效果显示:7.定义一个圆类Circle,描述圆对象。

圆有一个属性radius表示半径,还有一个findArea 方法用于计算圆的面积。

定义一个测试类。

给半径赋值为5,并且输出圆的面积。

}8、定义一个笔记本类,该类有颜色(char)和cpu型号(int)两个属性。

(1)无参和有参的两个构造方法;有参构造方法可以在创建对象的同时为每个属性赋值;(2) 输出笔记本信息的方法然后编写一个测试类,测试笔记本类的各个方法。

public class ComputeTest {public static void main(String[] args) {Computer c1 = new Computer();c1.showComputer();Computer c2 = new Computer('红', 32);c2.showComputer();}}class Computer {private char color;private int cpuNum;public Computer() {}public Computer(char color, int cpuNum) {this.color = color;this.cpuNum = cpuNum;}public char getColor() {return color;}public void setColor(char color) {this.color = color;}public int getCpuNum() {return cpuNum;}public void setCpuNum(int cpuNum) {this.cpuNum = cpuNum;}public void showComputer() {System.out.println("笔记本的颜色:" + getColor());System.out.println("笔记本的CPU型号:" + getCpuNum());}}9.定义一个汽车类Vehicle,要求如下:(1)属性包括:汽车品牌brand(String类型)、颜色color(String类型)和速度speed(double类型),并且所有属性为私有。

(2)至少提供一个有参的构造方法(要求品牌和颜色可以初始化为任意值,但速度的初始值必须为0)。

(3)为私有属性提供访问器方法。

注意:汽车品牌一旦初始化之后不能修改。

(4)定义一个一般方法run(),用打印语句描述汽车奔跑的功能定义测试类VehicleTest,在其main方法中创建一个品牌为“benz”、颜色为“black”的汽车。

public class Vehicle {private String brand;private String color;private double speed;Vehicle(){}Vehicle(String brand,String color){this.brand = brand;this.color = color;speed = 0;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}public double getSpeed() {return speed;}public void setSpeed(double speed) {this.speed = speed;}public void run(){System.out.println(getColor()+"的"+getBrand()+"的速度是"+getSpeed());}public String getBrand() {return brand;}10. 定义一个时间类,提供设定时间和显示时间的方法,其中设定时间的方法需要校验数据的正确性,并在main方法中验证。

11.设计BOOK类,包括ISBN号(string)、书名(string)、作者(string)以及表示是否已借出的成员(bool)。

创建返回这些成员的访问方法,以及借书还书的方法。

12、为图书馆创建一个Patron类,包括读者姓名、图书证号以及借阅费用(如果欠费的话)。

创建设定借书费的方法。

定义一个方法,返回一个布尔值,表示读者是否欠费。

public class Patron {private String name;private String bookNum;private double money;public Patron(String name, String bookNum, double money) { = name;this.bookNum = bookNum;this.money = money;}public boolean isOver() {return money > 0 ? true : false;}}二、【选做题】1、(1)编写一个时间类MyTime,包含一个构造方法,3个私有成员变量hour,minute,second以及与它们相对应的get与set方法(如hour有getHour和setHour方法,分别表示获得和设置hour),再加上一个转换成字符串的方法toString。

(2)编写一个日期类MyDate,包含一个构造方法,3个私有成员变量year,month,day以及与它们相对应的get与set方法,再加上一个转换成字符串的方法toString。

(3)编写一个FullTime类,包含一个MyTime类型的私有成员变量time和一个MyDate类型的成员变量date,以及与它们相对应的get与set方法,一个构造方法,再加上一个转换成字符串的方法toString。

(4)假设当前时间是2002年7月30日22点12分35秒,编写一个程序,用FullTime类设置时间为以上时间,并打印。

public class MytimeTest {public static void main(String[] args) {MyTime myTime = new MyTime();myTime.setHour(20);myTime.setMinute(20);myTime.setSecond(18);MyDate myDate = new MyDate();myDate.setYear(2012);myDate.setMonth(4);myDate.setDay(10);System.out.println(myDate.toString() + myTime.toString());}}class MyTime {private int hour;private int minute;private int second;public int getHour() {return hour;}public void setHour(int hour) {this.hour = hour;}public int getMinute() {return minute;}public void setMinute(int minute) {this.minute = minute;}public int getSecond() {return second;}public void setSecond(int second) {this.second = second;}@Overridepublic String toString() {return hour + "点" + minute + "分" + second + "秒";}}class MyDate {private int year;private int month;private int day;public int getYear() {return year;}public void setYear(int year) {this.year = year;}public int getMonth() {return month;}public void setMonth(int month) {this.month = month;}public int getDay() {return day;}public void setDay(int day) {this.day = day;}@Overridepublic String toString() {return year + "年" + month + "月" + day + "日";}}2、设计一个类Student,该类包括姓名、学号和成绩。

相关文档
最新文档