面向对象基础强化练习
对象的创建和使用)
5. 编写一个程序,创建两个 Point 对象 p1、p2,分别调研 movePoint 方法后,打印 p1 和 p2 的坐标。 (知识点:对象的创建和使用) 6. (1)定义一个动物类 Creature(知识点:对象的创建和使用) 1)定义一个方法 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()方法分 别设置动物的声音和输出动物的声音 效果显示:
一、 【必做题】
Ⅰ.选择题 1、列选项中哪个是类 public class Test { }的默认构造方法___?(知识点:构造 器) A. Test(); B. Test(void); C. public Test(); D. public Test(void); E. public void Test(); 2、给定下列代码的执行结果是____?(知识点:构造器) public class A { void A() { System.out.println(“Class A”); } public static void main(String[] args) { new A(); } } A. Class A B. 在第 2 行处抛出异常 C. 编译错误 D. 在第 6 行处抛出异常 E. 代码执行后没有输出 3、给定以下代码 : (知识点:构造器) 1. public class ConstOver { 2. public ConstOver (int x, int y, int z) { 3. } 4. } 下列选项中,哪些可以在 ConsOver 类中定义成重载的构造方法____: A. ConstOver ( ) { } B. int ConstOver ( ) { } C. ConstOver (int z, int y, byte x) { } D. Object ConstOver (int x, int y, int z) { } E. void ConstOver (byte x, byte y, byte z) { } 4 、 以 下 代 码 的 执 行 结 果 是 _____ ? ( 知 识 点 : static 使 用 )
Person p=new Person(); Person q=new Person(); p.sayHello(); q.sayHello(); } } class Person{ static int eyeNum; String name; int age; double height;
{
//非静态块 System.out.println("non-static block"); name="zhangsan"; age=18; height=1.75;
7.定义一个圆类 Circle,描述圆对象。圆有一个属性 radius 表示半径,还有一个 findArea 方法用于计算圆的面积。定义一个测试类。给半径赋值为 5,并且输出圆的面积。
(知识点:对象的创建和使用) 8、定义一个笔记本类,该类有颜色(char)和 cpu 型号(int)两个属性。 (知 识点:对象的创建和使用)
二、 【选做题】
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 类设置时间为以上时间,并打印。 (知识点:对象的创建和使用)
2、设计一个类 Student,该类包括姓名、学号和成绩。设计一个方法,按照成 绩从高到低的顺序输出姓名、学号和成绩信息。 (知识点:对象的创建pi = 3.14; int radius=100; public static void main(String[ ] args) { System.out.println( __ ); //打印 pi __________________ ; System.out.println(___); //打印 radius } } 2、下面的程序有错误,请修正,并说明原因: (知识点:static 使用) public class CircleStatic { static double pi=3.14; int radius=100; public static void main(String[] args) { System.out.println(pi); System.out.println(radius); Circle c=new Circle(); System.out.println(c.radius); } } class Circle { static double pi=3.14; int radius; public Circle(){ } public Circle(int r) { radius=r; } public static double getPi() { return pi; } public void static showArea() { System.out.println(pi*radius*radius); } } 3、分析如下程序,写出执行结果: (知识点:对象的创建和使用、静态块的使用) public class BlockDemo{ public static void main(String[] args){
2. (1)定义一个人类 Person: (知识点:对象的创建和使用) 1)定义一个方法 sayHello(),可以向对方发出问候语“hello,my name is XXX” 2)有三个属性:名字、身高、体重 3)通过构造方法,分别给三个属性赋值 (2)定义一个 Constructor 类: 1)创建两个对象,分别是 zhangsan,33 岁,1.73;lishi,44,1.74 2)分别调用对象的 sayHello()方法。3. (1)定义一个矩形类 Rectangle: 1)定义三个方法:getArea()求面积、getPer()求周长,showAll()分别在控制台输出长、宽、 面积、周长。 2)有 2 个属性:长 length、宽 width 3)通过构造方法 Rectangle(int width, int length),分别给两个属性赋值 4. 定义一个点类 Point,包含 2 个成员变量 x、y 分别表示 x 和 y 坐标,2 个构造器 Point() 和 Point(int x0,y0),以及一个 movePoint(int dx,int dy)方法实现点的位置移动。 (知识点:
1. (1)定义一个人类 Person: (知识点:对象的创建和使用) 1)定义一个方法 sayHello(),可以向对方发出问候语“hello,my name is XXX” 2)有三个属性:名字、身高、体重 (2)定义一个 PersonCreate 类: 1)创建两个对象,分别是 zhangsan,33 岁,1.73;lishi,44,1.74 2)分别调用对象的 sayHello()方法。
(1)无参和有参的两个构造方法;有参构造方法可以在创建对象的同时为每个 属性赋值; (2) 输出笔记本信息的方法 然后编写一个测试类,测试笔记本类的各个方法。 9.定义一个汽车类 Vehicle,要求如下: (知识点:对象的创建和使用)
(1) 属性包括: 汽车品牌 brand (String 类型) 、 颜色 color (String 类型) 和速度 speed (double 类型) ,并且所有属性为私有。 (2)至少提供一个有参的构造方法(要求品牌和颜色可以初始化为任意值,但速度的初始 值必须为 0) 。 (3)为私有属性提供访问器方法。注意:汽车品牌一旦初始化之后不能修改。 (4)定义一个一般方法 run(),用打印语句描述汽车奔跑的功能 定义测试类 VehicleTest,在其 main 方法中创建一个品牌为“benz” 、颜色为“black”的汽车。 10. 定义一个时间类,提供设定时间和显示时间的方法,其中设定时间的方法需要校验数 据的正确性,并在 main 方法中验证。 (知识点:对象的创建和使用)
}
static //静态块 { System.out.println("static block"); eyeNum=2; }
public Person(){ System.out.println("aaaaaaaaaaaa"); } public void sayHello(){ System.out.println("Hello, my name is "+name); } } Ⅲ.编程题