admin 管理员组

文章数量: 1184232


2024年3月20日发(作者:行指针与指针数组)

java

类和对象编程练习题

猜数字游戏:一个类A有一个成员变量v,有一个初值 100o定

义一个类,对A类的成员变量v进行猜。如果大了 则提示大了,小

了则提示小了。等于则提示猜测成功。

02.类的成员变量:

请定义一个交通工具的类,其中有:属性:速度,体 积等

方法:移动),设置速度),加速speedUp,减速

speedDown等等. 最后在测试类Vehicle中的main中实例 化一个交

通工具对象,并通过方法给它初始化speed, size 的值,并且通过

打印出来。另外,调用加速,减速的方法对 速度进行改变。

03.类的成员变量与方法、构造方法

在程序中,经常要对时间进行操作,但是并没有时间 类型

的数据。那么,我们可以自己实现一个时间类,来满足 程序中的需

要。

定义名为My Time的类,其中应有三个整型成员:时, 分,

秒,为了保证数据的安全性,这三个成员变量应声明为 私有。为

MyTime类定义构造方法,以方便创建对象时初始 化成员变量。再定

义diaplay方法,用于将时间信息打印 出来。

为 MyTime 类添加以下方法:addSecond addMinute

addHour subSecond subMinute subHour

分别对时、分、秒进行加减运算。

04.构造方法

编写Java程序,模拟简单的计算器。

定义名为Number的类,其中有两个整型数据成员nl 和n2,

应声明为私有。编写构造方法,赋予nl和

n2

初始值, 再为该类定

义加、减、乘、除等公有成员方法,分别对两个 成员变量执行加、

减、乘、除的运算。 在main方法中创 建Number类的对象,调用

各个方法,并显示计算结果。

05.构造方法:

编写Java程序,用于显示人的姓名和年龄。定义一 个人

类,该类中应该有两个私有属性,姓名和年龄。定义构 造方法,用

来初始化数据成员。再定义显示方法,将姓名和 年龄打印出来。

在main方法中创建人类的实例,然后将信息显示。

06. get方法和set方法

定义一个类,该类有一个私有成员变量,通过构造方 法将

其进行赋初值,并提供该成员的getXXX和setXXX方法

提示: 假设有private String name:则有

public void setName( this, name - name: } public

String getName( return this, name: }

07.构造方法与重载

为“无名的粉"写一个类:class WuMingFen要求:

1. 有三个属性:面码:String theMa 粉的分量:int

quantity 是否带汤:boolean likeSoup

2. 写一个构造方法,以便于简化初始化过程,如:

WuMingFen fl - new WuMingFen:.重载构造方法,使得初始 化过程

可以多样化: WuMingFen f- new WuMingFen;

4. 如何使得下列语句构造出来的粉对象是酸辣面码、 2

两、带汤

的? WuMingFen f- new WuMingFen:

5. 写一个普通方法:check,用于查看粉是否符合要 求。

即:将对象的三个属性打印在控制台上。

08.构造方法的重载:

定义一个名为Vehicles的基类,该类中应包含String 类型

的成员属性brand和color,还应包含成员方法run和 showinfo,并

编写构造方法初始化其成员属性。

编写Car类继承于Vehicles类,增加int型成员属 性

seats,还应增加成员方法showCar,并编写构造方法。编 写Truck类

继承于Vehicles类,增加float型成员属性load, 还应增加成员方

法showTruck,并编写构造方法。在main 方法中测试以上各类。

09.构造方法与重载

定义一个网络用户类,要处理的信息有用户ID、用户 密

码、email地址。在建立类的实例时,把以上三个信息都 作为构造

函数的参数输入,其中用户ID和用户密码时必须 的,缺省的email

地址是用户ID加上字符 串"@gameschool, com"

10. 构造方法与重载、包 编写Addition类,该类中 应包

含一组实现两数相加运算的重载方法。实现加法运算 的方法,应接

受两个参数,方法将两个参数进行加法运算后, 返回相加结果。考

虑可能针对不同的数据类型进行计算,重 载一组方法,包括整型、

长整型、浮点型、双精度浮点型、 还有字符串。在main方法中创

建Addition类的实例,分 别调用重载方法测试其效果。应将

Addition类打入到包中, 以自己名字的拼音为包命名。

11. 构造方法与重载

将上次练习题三中编写的MyTime类打到以自己名字 的拼音

命名的包中,并为该类重载一组构造方法,以方便使 用者能够以多

种形式初始化该类的实例。

12. 构造方法与重载

建立一个汽车类,包括轮胎个数,汽车颜色,车身重 量等

属性。并通过不同的构造方法创建事例。

至少要求:汽车能够加速,减速,停车。

要求:命名规范,代码体现层次,有友好的操作提示。

13. 构造方法与重载

创建一个类,为该类定义三个构造函数,分别执行下 列操

作:1、传递两个整数值并找出其中较大的一个值2、传 递三个

double值并求出其乘积3、传递两个字符串值并检查 其是否相同

4、在main方法中测试构造函数的调用

14. Static关键字与普通变量的区别:

创建一个名称为StaticDemo的类,并声明一个静态 变量和

一个普通变量。对变量分别赋予10和5的初始值。 在main方法中

输出变量值。

15. 继承:

创建一个名称为MainPackage的包,使它包含 MainClass

和 MainSubClass 类。MainClass 类应当包含变量 声明,其值从构

造函数中输出oMainSubClass类从MainClass 派生而来。试执行下

列操作:创建一个名称为SamePackage 的类,使它导入上述包,并

创建一个MainSubClass类的对 象。

16. 包、继承、构造函数

创建一个名称为MainPackage的包,使它包含 MainClass

和 MainSubClass 类。MainClass 类

应当包含变量声明,其值从构造方法中输出。

MainSubClass类从MainClass派生而来。试执行下列操作: 创建一

个名称为SamePackage的类,使它导入上述包,并创 建一个

MainSubClass类的对象。

17. 继承:

创建一个父类和子类,父类有一个数据成员,子类继 承父

类的该数据成员,通过构造函数初始化并显示该数据成 员的值。

18. 覆盖、继承

建立一个汽车Auto类,包括轮胎个数,汽车颜色, 车身重

量、速度等成员变量。并通过不同的构造方法创建实 例。至少要

求: 汽车能够加速,减速,停车。再定义一

个小汽车类Car,继承Auto,并添加空调、CD等成员变量, 覆盖加

速,减速的方法

19. 抽象类与继承

设计一个能细分为矩形、三角形、圆形和椭圆形的 “图

形”类。使用继承将这些图形分类,找出能作为基类部 分的共同特

征和方法,并看看这些图形是否能进一步划分为 子类。

本题只考虑实现思想,不考虑具体实现的细节,实现 方式

可自由发挥。

20. 抽象类:

创建一个Vehicle类并将它声明为抽象类。在Vehicle 类中

声明一个NoOfWheels方法,使它返回一个字符串值。 创建两个类

Car和Motorbike从Vehicle类继承,并在这两 个类中实现

NoOfWheels方法。在Car类中,应当显示“四 轮车”信息;而在

Motorbike类中,应当显示“双轮车”信 息。创建另一个带main方

法的类,在该类中创建Car和 Motorbike的实例,并在控制台中显

示消息。

21. 抽象类:

创建一个Vehicle类并将它声明为抽象类。在Vehicle 类中

声明一个NoOfWheels方法,使它返回一个字符串值。 创建两个类

Car和Motorbike从Vehicle类继承,并在这两 个类中实现

NoOfWheels方法。在Car类中,应当显示“四 轮车”信息;而在

Motorbike类中,应当显示“双轮车”信 息。创建另一个带main方

法的类,在该类中创建Car和 Motorbike的实例,并在控制台中显

示消息。

22. 接口:

创建一个名称为Vehicle的接口,在接口中添加两个 带有

一个参数的方法start和stop。在两个名称分别为Bike 和Bus的

类中实现Vehicle接口。创建一个名称为 interfaceDemo 的类,在

interfaceDemo 的 main 方法中创建 Bike和Bus对象,并访问

start和stop方法。

23. 接口:

创建一个名称为Vehicle的接口,在接口中添加两个 带有

一个参数的方法start和stop。在两个名称分别为Bike 和Bus的

类中实现Vehicle接口。创建一个名称为 interfaceDemo 的类,在

interfaceDemo 的 main 方法中创建

Bike和Bus对象,并访问start和stop方法。

24. 抽象类、继承、接口综合设计一个系统:

XXX门的实现过程:流程:

设计一张抽象的门Door,那么对于这张门来说,就应 该拥有

所有门的共性,开门openDoor和关门closeDoor;然 后对门进行另

外的功能设计,防盗一theftproof、防水 一waterproof、防弹--

bulletproof、防火、防锈??要求: 利用继承、抽象类、接口的知

识设计该门

25. 抽象类、继承、接口综合设计一个系统:xxx纯 净水生

产线

目前流程是:从某个地方把水取出来,然后经过缓冲, 过

滤,加热和放糖的步骤abstract水

(

public void 水;}

interface 过滤{} interface 缓冲{} interface 加

热{} interface 放糖{}

class纯净水1 extends水imps过滤,缓冲{} class纯

净水extends水 imps缓冲{} class纯净水 extends 水 imps 过

滤{}

O O O O

26. 综合题

定义一个抽象的” Role”类,有姓名,年龄,性别等

成员变量

1. 要求尽可能隐藏所有变量,再通

过GetXXX和SetXXX方法对各变量进行读写。具有一 个抽

象的play方法,该方法不返回任何值,同时至少定义 两个构造方

法。Role类中要体现出this的几种用法。

2. 从Role类派生出一个” Employee”类,该类具有 Role

类的所有成员,并扩展salary成员变量,同时增加一 个静态成员

变量“职工编号”。同样要有至少两个构造方 法,要体现出this

和super的几种用法,还要求覆盖play 方法,并提供一个final

sing方法。.“Manager”类继 承"Employee

r

类,有一个 final 成

员变量” vehicle"

4, 在main方法中制造Manager和Employee对象,并 测试

这些对象的方法

27. 综合题题目:品尝饮料时间:2006-06-1 —>语 言和环

1. 实现语言:Java

2. 环境要求:JDK1. 4或以上版本及其联机帮助文档 二、

要求

1、使用命令行参数,输出该饮料类型的味道,如: 当命令

行参

三、推荐实现步骤

1、建立一个Java抽象类Drink,应当:

a、声明一个抽象方法taste,该方法负责输出饮料的 味道;

b、声明int型常量来代表不同的饮料类型,如:c、 声明静态工厂

方法getDrink,根据传入的参数创建

不同的饮料对象,并返回该对象,建议使用switch 语句。

该方法要求声明DrinkNotFoundException,当没有相 对应的饮料类

型时,抛出该异常。

2、建立Drink的具体子类:

a、分别建立 Drink 的子类:Coffee, Beer, Milk; b、 实

现taste方法,要求在控制台打印各自的味道特征。、建 立异常类

DrinkNotFoundException

a、继承 Exception

b、在Drink的方 法getDrink中声明引发

DrinkNotFoundException 异常,当传

入的参数没有相对应的饮料类型时,抛出异常。

c、在使用getDrink方法的类中捕捉该异常。、建立 Test

测试类,测试以上内容的正确性a、编写main方法, 通过命令行传

参的方式传入某种饮料的类型。b、在main 方法中,调用Drink类

的getDrink方法,获得相应的饮料 对象。注意捕获

DrinkNotFoundException。 c、然后调用 该饮料对象的taste方

法,输出该饮料的味道。、编译程序, 并运行。 四、注意事项

1、仔细审题,把题目要求理解准确;、请注意多态性 的运

用;

3、请注意代码的书写、命名符合规范,应有适当的 注释。

面向对象编程基本知识练习

一、判断题

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

2. 构造方法用于给类的private实例变量赋值。

3. 对象一经声明就可以立即使用。

4. 在定义变量和方法时,必须清楚地在其面前标上访 问权

限修饰符。

5. Java程序中的参数传递都是把参数值传递给方法 定义中

的参数。

6. 在类定义中,成员访问权限修饰符不能多次出现。

7. new操作符动态地为对象按其指定的类型分配内 存,并

返回该类型的一个引用。

8. 类的方法通常设为public,而类的实例变量一般 也设为

publico

9. 构造方法在创建对象时被调用。

10. 通过点运算符与类对象的引用相连,可以访问此 类的

成员。

11. 声明为protected的类成员只能被此类中的方 法访问。

12. 同一个类的对象使用不同的内存段,但静态成员 共享

相同的内存空间。

13. 类的成员变量可以放在类体的任意位置。

14. 声明为protected的类成员可以被此类作用域 中的任

何对象访问。

15. 没有返回值的方法可以用void来表示,也可以 不加。

二、选择题

1. 下面对对象概念描述错误的是:

A操作是对象的动态属性

B任何对象都必须有继承性

C对象间的通讯靠消息传递

D对象是属性和方法的封装体

2. 编译并运行下面的程序,运行结果为:

public class A

(

public static void main

(

A a-new A;

a. method;

void method

System, out. printin;

void method

System, out. printin;

}

}

A程序可以编译运行,输出结果为int:

B程序可以编译运行,输出结果为long: 8)

8

A类是Java语言中的一种复合数据类型

B类中不包含数据变量和方法

C类是对所有具有一定共性的对象的抽象

D Java语言的类只支持单继承

4. 能作为类及其成员的修饰符是:

A interface

B class

C protected

D public

5. 设x、y均为己定义的类名,下列声明对象xl的 语句不

可能正确的是:

A public x xl-new y:

B public y xl-new x;

C x xl-new x;

D x xl-x:

6. 面向对象程序设计技术的特点是:

A可重用性

B可维护性

C表示方法的一致性

D可重用性、可维护性、表示方法的一致性

7. 下列方法定义中,方法头不正确的是:

A public static x{…}

B public static int x

C void x

D public int x{…}

8. 设己声明了一个类A的两个对象al、a2,为了 初始化al

和a2,下面语句正确的是:

A al-new; a2-new;

B al-A new; a2-A new;

C al, a2-new A;

D al-new A; a2-new A;

9. 构造方法何时被调用?

A类定义时

B使用对象的变量时

C调用对象方法时

D创建对象时

10. 下列哪个类声明是正确的?

A public abstract class Car

B abstract private move

C protected private number:

D abstract final class Hl

11. 下列不属于面向对象程序设计的基本特征的是:

A抽象

B封装

C继承

D静态

12. 请看下面的程序段

class Person {

String name, department;

int age:

public Person { name - n; }

public Person { name - n; age - a; }

public Person {

//doing the same as two arguments version of

constructer

//including assignment name-n, age-a

下面那一选项可以添加到“//doing the same??" 处:

A Person

B this)

C this

D this

13. 是一个特殊的方法,用于对类的实例变量进行初 始

化。

A终止函数

B构造函数

C重载函数

D初始化函数

14. 关于变量和它们范围的说法,正确的是:

A实例变量是类的成员变量

B实例变量要用关键字static来声明

C在一个方法执行时,定义在该方法的局部变量才被 创建

D局部变量必须在它们使用前初始化

15. 请看下面的程序段

class Test(

private int m;

public static void fun(

//some code,,-

方法fun如何来访问变量m:

A

private

int m

改成

protected int m

B

private

int m

改成

public int m

C

private

int m

改成

static int m

D

private

int m

改成

int m

16. 在Java中,方法main将返回一个值。

A String

B int

C char

D void

17. 有一个类A,对于其构造函数的声明正确的是

A void A

B public A{,,•}

C A A{…}

D int A{…}

18 .请看下面的程序段


本文标签: 方法 变量 成员 对象