Java语言面向对象基础(答案)
一、填空题
1.类是一组具有相同(属性)和(行为)的对象的抽象。(实例)是由某个特定的类所描述的一个个具体的对象。
2.(接口)只描述系统所提供的服务,而不包含服务的实现细节。
3.构造方法的方法名与(类名)相同,若类中没有定义任何的构造方法,则运行时系统会自动为该类生成一个(默认构造)方法。
4.在方法体内定义的变量是(局部变量),其前面不能加(public),且必须(初始化)。
5.数组元素作实参时对形参变量的数据传递是(单向值传递),数组名作实参时对形参变量的数据传递是(双向引用传递)。
6.对象作方法形参时,方法实参也用对象,实现(引用)调用。
7.( new)是一个特殊的方法,用于创建一个类的实例。
8.(类)变量在内存中只有一个拷贝,被该类的所有对象共享;每当创建一个实例,就会为(实例)变量分配一次内存,(实例)变量可以在内存中有多个拷贝,互不影响。
二、简答题
1.名词解释:抽象、对象、类、实例、方法、属性、消息、接口、封装、继承、多态性
抽象:是从被研究的对象中舍弃个别的,非本质的或与研究主旨无关的次要特征,而抽取与研究有关的共性内容加以考察,形成对被研究问题的正确的、简明扼要的认识。
对象:是对客观事物的抽象,是类的实例。
类:对对象的抽象,是一种抽象的数据类型。
实例:也就是对象,对象也被称为类的实例化。
方法:类的行为,事物动态特征的抽象。
属性:数据成员,是事物静态特征的抽象。
消息:p65
接口:p87
封装:p61
继承:p66
多态性:p70
2.简述面向对象的基本思想、主要特征和基本要素。P59,主要特征是封装、继承和多态
3.为什么要对类进行封装?封装的原则是什么?
P59:高内聚,松耦合
4.类的封装性、继承性和多态性各自的内涵是什么?
第五章内容
5.什么是对象?什么是类?二者有何关系?
类是对象的模板,对象是类的实例。以类为模板可以创建不同的对象。
6.Java中类定义的一般格式是什么?定义类的修饰符有哪些?各自的特点是什么?
P60
7.Java中成员变量定义的一般格式是什么?成员变量有哪些修饰符?
P39、p50、p61
8.Java中成员方法定义的一般格式是什么?成员方法有哪些修饰符?
P39、p50、p61
9.简述构造方法的特点与作用。 P47
10.Java中创建对象的一般格式是什么?如何初始化对象?如何给对象赋值?
P41
三、选择题
1.下面关于封装性的描述中,错误的是( D )。
A.封装体包含属性和行为 B.被封装的某些信息在外不可见
C.封装提高了可重用性 D.封装体中的属性和行为的访问权限相同
2.下面关于类方法的描述,错误的是( B )。
A.说明类方法使用关键字static B.类方法和实例方法一样均占用对象的内存空间C.类方法能用实例和类名调用 D.类方法只能处理类变量或调用类方法
3.下面关于包的描述中,错误的是( A )。
A.包是若干对象的集合B.使用package语句创建包
C.使用import语句引入包D.包分为有名包和无名包两种
四、判断题
1.类是一种类型,也是对象的模板。(√)
2.类中说明的方法可以定义在类体外。(×)
3.实例方法中不能引用类变量。(×)
4.创建对象时系统将调用适当的构造方法给对象初始化。(√)
5.使用运算符new创建对象时,赋给对象的值实际上是一个引用值。(√)
6.对象赋值实际上是同一个对象具有两个不同的名字,它们都有同一个引用值。(√)
7.对象可作方法参数,对象数组不能作方法参数。(×)
8.class是定义类的惟一关键字。(√)
9.Java语言会自动回收内存中的垃圾。(√)
五、分析题
分析下面的程序,写出运行结果。
import java.awt.*;
import java.applet.*;
class MemberVar {
static int sn = 30;
final int fn;
final int fk = 40;
MemberVar() {
fn = ++sn;
}
}
public class Exercises5_1 extends Applet {
public void paint(Graphics g) {
MemberVar obj1 = new MemberVar();
MemberVar obj2 = new MemberVar();
g.drawString("obj1.fn=" + obj1.fn, 20, 30);
g.drawString("obj1.fk=" + obj1.fk, 20, 50);
g.drawString("obj2.fn=" + obj2.fn, 20, 70);
g.drawString("obj2.fk=" + obj2.fk, 20, 90);
}
}
运行结果是:()
obj1.fn=31
obj1.fk=40
obj2.fn=32
obj2.fk=40
六、改错题
1.下面的程序中有若干个语法错误,出后请改正。
public class MyMainClass{
public static void main( ) {
TheOtherClass obj = new TheOtherClass("John Smith","Male","UK");
System.out.println(obj.name+' '+der+' '+obj.nationality);
}
System.out.println("The end of the program! ")
}
public class TheOtherClass{
private String name,gender,nationality;
public TheOtherClass(String name,String gender,String nationality)
{
this.name=name;
this.nationality=nationality;
}
}
改正后程序:
public class MyMainClass {
public static void main(String args[]) {
TheOtherClass obj = new TheOtherClass("John Smith", "Male", "UK");
System.out.println(obj.name + ' ' + der + ' ' + obj.nationalit y);
System.out.println("The end of the program! ");
}
}
class TheOtherClass {
public String name, gender, nationality;
public TheOtherClass(String name, String gender, String nationality) {
this.name = name;
this.nationality = nationality;
}
}
2.下面的程序中有若干个语法错误,出后请改正。
public class Car{
private String carName;
public int mileage;
private static final int TOP_SPEED=50;
abstract void alert();
public static int getTopSpeed(){
return TOP_SPEED;
}
public static void setCarName(){java面向对象的特征有哪些方面
carName="Bensi";
}
public static void setMileage(){
mileage=180;
}
}
改正后程序:
public abstract class Car { //有抽象方法,定义为抽象类
private String carName;
public int mileage;
private static final int TOP_SPEED = 50;
abstract void alert();
public static int getTopSpeed() {
return TOP_SPEED;
}
public void setCarName() { //删除static,静态方法只能访问静态的成员,不能访问非静态成员,非静态方法可能访问静态的成员
carName = "Bensi";
}
public void setMileage() {
mileage = 180;
}
}
第一部分面向对象方法概述
一、填空题
1.对象的抽象是,类的实例是。
2.动态模型描述了系统的结构。
3.软件系统中存在两种控制流,外部控制流是系统中对象之间外部事件的事件流,
有、和三种外部事件控制流。控制流是一个处理内
部的控制,均可结构化。
4.在C++和C中有一个函数,可以使用这个过程来说明构成系统主要对象
的那些类的实例。
5.继承性是自动共享父类属性和的机制。
6.对象具有封装性,实现了的组合。
7.在面向对象方法中,信息隐藏通过对象的来实现。类结构分离了
和,从而支持了信息隐藏。
8.抽象是指强调实体的、,忽略一些无关紧要的属性。类实现了对象
的和的抽象,它是对象的共性的抽象。
9.子类只继承的属性和操作,称为单重继承。
10.对象的抽象是,类的具体化就是,也可以说类的实例
是。
11.类具有,它是的行动的抽象。
12.对象具有状态,对象用来描述它的状态。
13.概念模型描述了系统的。功能模型指出,动态模型确定,
而对象模型确定。功能模型由组成。
14.面向对象有三个基本要素,它们是、、。
15.面向对象技术在三个级别上促进了共享,它们是、、。
16.活动是一种有时间间隔的操作,它是依附于。动作是一种瞬时操作,它
是与联系在一起的操作。
17.封装性是指所有软件部件内部都有明确的以及清楚的。每个软
件部件都有友好的,软件部件的与分离。
18.主要的对象类型有、、和。
19.同一个类中的共享是指同一个类中的对象有着相同的和相同
的。
20.结构化方法的本质是,其、可修改性和可重用性都比较差。
21.对象还有,用于改变对象的状态。对象实现了和的
结合。
22.面向对象方法认为系统是由应用域的组成。
23.对象具有状态,描述对象的状态用它的。
24.类具有属性,描述类的属性用。
25.一个方法有、和。
26.动态模型描述了系统的。
27.对象模型的主要元素是类,关联和。
28.通过这种机制和构造来实现不同应用中的信息共享。
29.面向对象程序设计语言与其它程序设计语言的主要区别是它具有。
30.对象具有很强的能力和功能。
31.类具有属性,它是对象的的抽象,用来描述类的属性。
32.面向对象的特征是、、、。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论