作业06 - 对象的创建和使用

2019-08-30 13:50

对象的创建和使用 一、 选择题

1、 下面关于创建对象描述正确的是?

A)对象声明后,就占用了内存单元 占用栈内存无堆内存 定义后才会分配内存 B)对象声明后,就可以使用 局部变量还要初始化

C)对象声明后,必须对其进行初始化才可使用 成员变量可以不用 D)对象声明后,必需通过new 进算符才可分配内存单元 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 答案:D

2、 Java语言中,能完成资源释放功能的是 A)free

B)finalize() C)final D)throw 答案:B

3、 如何强制垃圾机制回收一个对象

A)不能强制回收

B)调用System.gc()

C)调用System.gc(),并传入对象引用 D)调用Runtime.gc() 答案:B

4、 下列说法正确的有

A)class中的constructor不可省略 系统会默认

B)constructor必须与class同名,但方法不能与class同名 C)constructor在一个对象被new时执行

D)一个class只能定义一个constructor 多个重载 答案:C

5、 对象使用时,下面描述错误的是

A)通过\运算符调用成员变量和方法正确 B)通过成员变量的访问权限设定限制自身对这些变量方法的调用不是设定限制自身对这些变量方法的调用

C)将一个对象申明为类的成员时,必须在使用前为其分配内存 有默认值null

D)在方法中使用对象作为参数时,采用引用调用 答案B

二、 填空题

6、 对象的创建过程分两步,首先___声明一个变量_____, 然后用关键字___new_____和

__构造器_____分配内存实体;

7、 实例变量与类变量的区别:实例变量产生时间是_创建对象____,消亡时间是__垃圾回

收_____;类变量产生时间是类加载_______;消亡时间是_程序退出时______;并且类变量被所有对象_每个对象共享_______;实例变量为每个对象_每个对象独有______。

8、 实例方法与类方法的区别:实例方法产生时间是第一个对象被创建_____,消亡时间是

不再用对象______;类方法产生时间是_类加载____,消亡时间是__程序退出时____。

9、 类方法中_不能___使用this关键字,因为__this是代表当前对象,类方法在类加载时就

存在而此时还不存在对象____________

10、 类中静态块的特点: 执行时间是类加载时执行______________;执行次数是___只执行

一次_____。

11、 java方法调用时,参数传递有两种形式是___引用传递______和_____值传递______。

三、 简答题

1、如何创建一个对象?

声明该类类型的一个变量,该变量没有定义一个对象;只是一个能够引用对象的简单变量

声明要创建一个对象的实际的物理拷贝,并把对于该对象的引用赋给该变量

2、类变量与实例变量的区别?

(1)类变量在类加载时分配内存,实例变量在创建对象时分配内存;类变量在程序退出时释放 ,对象不存在时,实例变量就不存在

(2)类变量被所有对象共享,即同一个类的所有对象共享此类的类变量;实例变量为每个对象独有,操作自己的实例变量而不会影响其他的对象 (3)类变量通过类名来调用,通过static来声明

3、类方法与实例方法的区别?

(1)类方法在类加载时被分配入口地址,实例方法是在第一个对象创造时被分配入口

地址

(2)类方法一般通过类名来调用,类方法中不能使用this关键字 4、静态快有什么特点?

静态块(静态块中的所有java语句)在类被加载时执行 静态块一般只执行一次 5、参数传递有几种形式? 两种形式:引用传递和值传递

四、 上机题

一、 作业

一、 对应编号 Point-x: double-y: double+<>Point ()+<>Point (double x, double y)+getX ()+setX (double x)+getY ()+setY (double y)+movePoint (double dx, double dy)+getDistance (Point point)详细要求 1 : double: void: double: void: void: double 1. 如图所示,编写类Point。Point包含两个成员变量x、y分别表示x和y坐标。movePoint方法实现点的位置的移动(dx,dy表示相对位移)。getDistance求该点与另外一个点的距离。 2. 编写用户程序TestPoint,创建两个Point对象p1,p2,分别调用movePoint()方法后,打印p1和p2的坐标,然后求p1和p2之间的距离。 Circle-r: double+<>Circle (double r)+getR ()+setR (double r)+area ()+perimeter (): double: void: double: double2 1. 如图所示,编写圆类Circle。area方法求圆的面积,perimeter求圆的周长。 2. 编写用户程序TestCircle,创建一个圆,求圆的面积和周长并打印出来。

Rectangle-width: double-length: double+<>Rectangle (double width, double length)+getLength ()+setLength (double length)+getWidth ()+setWidth (double width)+area ()+perimeter (): double: void: double: void: double: double3 1. 编写矩形类Rectangle。area方法求矩形的面积,perimeter求矩形的周长。 2. 编写用户程序TestRectangle,创建一个矩形,求该矩形的面积和周长并打印。 Score----chinesemathenglishx: double: double: double: double4 +<>Score ()+<>Score (double chinese, double math, double english, double x)+getTotalScore (): double+average (): double+getChinese (): double+setChinese (double chinese): void+getEnglish (): double+setEnglish (double english): void+getMath (): double+setMath (double math): void+getX (): double+setX (double x): void1. 如图所示,写一个成绩类Score,包含英语、数学、语文、综合四科。getTotalScore求总分,average求平均分。 2. 编写用户程序TestScore,创建一成绩对象,并对各科赋值。然后求总分和平均分。 Student----idnamespecialscore: String: String: boolean: Score5 1. 编写学生类Student,包含学号,姓名,是否特殊考生和成绩等属性,成绩利用上题编写的Score类。特殊考生总成绩加10分。

+<>Student ()+<>Student (String id, String name, boolean special, Score score)+getId ()+setId (String id)+isSpecial ()+setSpecial (boolean special)+getName ()+setName (String name)+getScore ()+setScore (Score score)+setScore (double chinese, double math, double english, double x)+getTotalScore ()+speak ()+speak (String content)+speak (String content, String language): String: void: boolean: void: String: void: Score: void: void: double: void: void: void

2. 编写用户程序TestStudent,创建学生,修改其成绩,求其总分并打印,调用speak方法来理解重载。 布尔值的get的方法。。Is。。。。 1

注意点:在引用数学符号时,需用Math.abs Math.sqrt p1.getX1()记得加()


作业06 - 对象的创建和使用.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:氧化还原反应基本规律应用

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: