面向对象基础 - 参考答案
更新时间:2024-04-18 02:51:01 阅读量: 综合文库 文档下载
- 面向对象的编程语言推荐度:
- 相关推荐
一、【必做题】
Ⅰ.选择题
1、列选项中哪个是类public class Test { }的默认构造方法__C__? A. Test(); B. Test(void); C. public Test(); D. public Test(void); E. public void Test();
2、给定下列代码的执行结果是_E___? 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类中定义成重载的构造方法___AC_: 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、以下代码的执行结果是__A___?//Illegal modifier for parameter i; only final is permitted
A. 编译失败 B. 编译成功,输出“0” C. 编译成功,输出“1” D. 编译成功,输出“2”
5、以下代码的执行结果是__C___?
A. 代码编译成功,并且打印“s=”
B. 代码编译成功,并且打印“s=null” C. 代码编译失败,因为s为被初始化 D.代码编译失败,因为s不可以被引用
E. 代码编译成功,但是运行时抛出NullPointerException
6、给定以下代码:
12. void start() { 13. A a = new A(); 14. B b = new B(); 15. a.s(b); 16. b = null; 17. a = null;
18. System.out.println(“start completed”); }
对于在第14行创建的对象b,系统什么时候会对它进行垃圾回收_D___? A. 在第16行之后 B. 在第17行之后 C. 在第18行之后(当函数执行完成后) D. 无法确定 E. 垃圾回收器不会回收该对象
Ⅱ. 程序分析题
1、在指定位置上填写正确的代码: public class CircleStatic
{
static double pi = 3.14; int radius=100;
public static void main(String[ ] args) {
System.out.println( _pi_ ); //打印pi
_ CircleStatic c = new CircleStatic ();_________________ ; System.out.println(__c._ radius _); //打印radius } }
2、下面的程序有错误,请修正,并说明原因: 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() {
// public static void showArea() 修饰符顺序不对 System.out.println(pi*radius*radius); // 静态方法里不能直接用非静态属性
/* Circle c=new Circle();
System.out.println(pi*c.radius*c.radius);*/
} }
3、分析如下程序,写出执行结果: //先静态块(只执行一次) 方法块 构造方法
public class BlockDemo{
public static void main(String[] args){ 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(\); name=\; age=18; height=1.75; }
static //静态块 {
System.out.println(\); eyeNum=2; }
public Person(){
System.out.println(\); }
public void sayHello(){
System.out.println(\+name); } }
static block non-static block aaaaaaaaaaaa
non-static block aaaaaaaaaaaa
Hello, my name is zhangsan Hello, my name is zhangsan
Ⅲ.编程题
1.(1)定义一个人类Person:
1)定义一个方法sayHello(),可以向对方发出问候语“hello,my name is XXX” 2)有三个属性:名字、身高、体重 (2)定义一个PersonCreate类:
1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.74
2)分别调用对象的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.74 2)分别调用对象的sayHello()方法。(答案:Constructor.java、或者是Person3.java) 3.(1)定义一个矩形类Rectangle:
1)定义三个方法:getArea()求面积、getPer()求周长,showAll()分别在控制台输出长、宽、面积、周长。
2)有2个属性:长length、宽width
3)通过构造方法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) {
this.x0=x0; this.y0=y0; }
public void movePoint(int dx,int dy){ this.x0 = this.x0 + dx; this.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) {
this.x0=x0; this.y0=y0; }
public void movePoint(int dx,int dy){ this.x0 = this.x0 + dx; this.y0 = this.y0 + dy; } }
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()方法分别设置动物的声音和输出动物的声音
效果显示:
7.定义一个圆类Circle,描述圆对象。圆有一个属性radius表示半径,还有一个findArea方法用于计算圆的面积。
定义一个测试类。给半径赋值为5,并且输出圆的面积。
}
8、定义一个笔记本类,该类有颜色(char)和cpu型号(int)两个属性。 (1)无参和有参的两个构造方法;有参构造方法可以在创建对象的同时为每个属性赋值;
(2) 输出笔记本信息的方法
然后编写一个测试类,测试笔记本类的各个方法。
public class ComputeTest { }
class Computer {
public void showComputer() {
System.out.println(\笔记本的颜色:\ + getColor()); System.out.println(\笔记本的CPU型号:\ + getCpuNum()); public void setCpuNum(int cpuNum) { }
this.cpuNum = cpuNum; public int getCpuNum() { }
return cpuNum;
public void setColor(char color) { }
this.color = color; public char getColor() { }
return color;
public Computer(char color, int cpuNum) { }
this.color = color; this.cpuNum = cpuNum; }
public Computer() { private char color; private int cpuNum;
public static void main(String[] args) { }
Computer c1 = new Computer(); c1.showComputer();
Computer c2 = new Computer('红', 32); c2.showComputer();
}
}
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){ }
public String getColor() { }
public void setColor(String color) { }
public double getSpeed() { }
public void setSpeed(double speed) { }
public void run(){ }
public String getBrand() { }
return brand;
System.out.println(getColor()+\的\+getBrand()+\的速度是this.speed = speed; return speed; this.color = color; return color; this.brand = brand; this.color = color; speed = 0;
\+getSpeed());
二、【选做题】
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 { }
class MyTime {
public int getMinute() {
return minute;
public void setHour(int hour) { }
this.hour = hour; public int getHour() { }
return hour; private int hour; private int minute; private int second; }
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());
}
}
public void setMinute(int minute) { }
public int getSecond() { }
public void setSecond(int second) { }
@Override
public String toString() {
return hour + \点\ + minute + \分\ + second + \秒\; }
this.second = second; return second;
this.minute = minute;
class MyDate {
public int getDay() {
public void setMonth(int month) { }
this.month = month; public int getMonth() { }
return month;
public void setYear(int year) { }
this.year = year; public int getYear() { }
return year; private int year; private int month; private int day;
}
}
return day;
public void setDay(int day) { }
@Override
public String toString() { }
return year + \年\ + month + \月\ + day + \日\; this.day = day;
2、设计一个类Student,该类包括姓名、学号和成绩。设计一个方法,按照成绩从高到低的顺序输出姓名、学号和成绩信息。
public class Student {
public String getNumber() { }
return number;
public void setName(String name) { }
this.name = name;
public Student(String name, String number, int score) { }
public String getName() { }
return name; this.name = name; this.number = number; this.score = score; }
private String name; private String number; private int score;
public Student() {
}
public void setNumber(String number) { }
public int getScore() { }
public void setScore(int score) { }
public void sortByScore(Student[] students){ }
int max= students[0].score;
for(int i =0 ;i System.out.println(\按成绩排序后的结果如下:\); for(int i = 0 ;i System.out.print(students[i].getName() + \+ for(int j = 0;j if(students[i].getScore()>students[j].getScore()){ } Student b = students[i]; students[i] = students[j]; students[j] = b; this.score = score; return score; this.number = number; students[i].getNumber()+\+students[i].getScore()); System.out.println(); } public class StudentTest { } public static void main(String[] args) { Student s1= new Student(\,\,70); Student s2= new Student(\,\,85); Student s3= new Student(\,\,60); Student[] students = new Student[]{s1,s2,s3}; Student s = new Student(); s.sortByScore(students); }
正在阅读:
面向对象基础 - 参考答案04-18
郑州市第二中学2015-2016学年度九年级上学期期中考试数学试题09-02
朗读竞赛 兴趣运动会10-29
2022年下半年食品安全重点工作安排04-14
梁志天简介及作品05-18
大二学生入党申请2000字模板09-08
送东阳马生序复习学案及答案06-02
飞机租赁知识点精选07-07
邯郸最新小升初数学试卷试题3303-16
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 面向
- 对象
- 答案
- 参考
- 基础
- 《存款方式与收益》研究性学习方案
- 4.开工报告、竣工报告、竣工验收证明书
- 掘进队工程质量管理制度
- 主桥首节间钢梁安装施工工艺
- 2013高考英语作文高分秒杀密码
- 新、改、扩建工程“三同时”管理制度
- RrtcmaN·格里高利·曼昆微观经济学课后习题答案
- 基质效应
- 能源与动力工程学院暑期社会实践指导手册暑期社会实践指导手册
- 高职化工检验工中(高)级考试选择题题库
- 连接器编码分类和描述指导书
- 动态巡查自查报告
- 在年轻干部座谈会上的讲话提纲
- 2012各地高考历史试题分章节汇总(必修三) - 图文
- 存款方式与收益研究性学习报告
- 医学伦理学习题集二
- 康复临床习题1
- 泰山版、品德与社会、三年级、下册、试题、答案
- 综合布线施工组织方案
- 液晶显示电冰箱温控器实验报告