java无忧网
标题: 小作业 复习题 题目答案不一定完成正确,只供参考 [打印本页]
作者: java无忧网 时间: 2016-6-14 08:04
标题: 小作业 复习题 题目答案不一定完成正确,只供参考
13.面向过程的程序设计采用的是 类的过程 抽象,而面向对象的程序设计采用的是 对象是类的 抽象。
14.在类的继承关系中,父类描述了 公共属 性,子类描述了 继承 性。
15.类之间主要存在3种关系: 依赖关系 、 聚合关系 、 泛化关系 ,飞机和发动机之间是 聚合 关系,动物和猫之间是 继承 关系。
16.一个类的核心内容是 继承,封装和多态 ,一般 行为 对外公开。
17.抽象类中定义抽象方法的目的是 实现一个接口,即所有的子类对外都呈现一个相同名字的方法 。
18.在面向对象的程序设计中,对象之间相互联系(作用、影响)的唯一途径是 继承 。
19.在 Java 语言中,子类对象完全可以作为父类对象来使用,这种情况称为 。
20.在静态成员方法中只能使用 静态 成员变量,只能调用 静态 成员方法。
21.类的构造方法 不能 使用static来修饰,类的构造方法 不能 使用abstract来修饰。
22.在子类中使用关键字 this 做前缀可调用被子类覆盖的父类中的方法。
23.在类的实例化时,调用构造方法的次序是先 父类 后 子类 ,在对象被撤消时,调用析构造方法的次序是先 子类 到 父类 。
24.在 Java语言中,类之间只能 单 继承,而 接口 是可以用来实现多重继承的数据类型。
25.在Java中有两种实现多态的方法,一种是使用方法的 重载 实现静态多态,另一种是使用方法的 重写 实现动态多态。
26.容器可以分为 Frame 容器和 panel 容器,容器中的边框式布局管理器将整个容器分为 5 部分。
27.抽象类中可以定义抽象方法,定义抽象方法的目的是 实现一个接口,即所有的子类对外都呈现一个相同名字的方法 。
28.在程序中,捕获和处理异常,必须先捕获和处理 编译 异常,后捕获和处理 运行 异常。
29.在Java语言中,传递对象时传递的是该对象的 引用变量 。
30.面向对象程序设计方法应该包含 类 、对象、 数据抽象 、消息、 继承 。
31.用过程式语言编写的程序其主要特征是:程序= 过程 + 过程调用 ,而用面向对象程序设计出的程序,其主要特征是:程序= 对象 + 消息 。
32.在一个类中,核心是 继承,封装和多态 ,作为类的核心,一般 行为 对外公开。
33.类可以嵌套定义,在一个类中嵌套定义的类称为这个类的 内部类 。
34.在程序中捕获和处理异常时,必须先捕获和处理 编译 异常,后捕获和处理 异常。
35.对象是对现实世界的一个具体事物的 描述 ,而类是对一个对象集合的 相同属性和服务 。
三、写出下面程序的运行结果
class A {
private int a;
public A(int a) {this.a=a;}
public String toString() {
return "a="+a;
}
}
public class B extends A{
private int a;
public B() {super(20) ; a=10;}
public B(int a) {super(a*2); this.a=a;}
public String getA() { return "a="+a;}
public String toString() {
return super.toString()+getA();
}
public static void main(String[] args) {
System.out.println(new B(30));
}
}
运行结果:
a=60a=30
四、按照要求完成类定义
请根据给定的UML类图,编写必要的公共类,UML类图如下:
要求:
1.每个类必须有2个公共构造方法,一个无参构造方法,一个有参构造方法,这些构造方法为类中的成员变量做初始化。
2.父类的 toString()方法返回学生的姓名和年龄,子类的toString()方法返回大学生的姓名、年龄和专业,例如:
Student s=new CollegeStudent("李平",23,"人文科学");
System.out.println(s);
这时,屏幕上将显示: 李平,23岁,人文科学专业
public class Student {
protected String name;
protected int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String toString() {
// TODO Auto-generated method stub
return name+","+age;
}
}
public class CollegeStudent extends Student {
private String specialty;
public CollegeStudent() {
}
public CollegeStudent(String name,int age,String specialty) {
this.specialty = specialty;
super.name=name;
super.age=age;
}
public String toString() {
return this.name+","+this.age+","+this.specialty;
}
public static void main(String[] args) {
Student s=new CollegeStudent("李平",23,"人文科学");
System.out.println(s);
}
}
四、按照要求完成类定义
1、定义一个Date类,属性是私有的,包括year,month,day, 定义一个不带参数的构造方法,一个带参数的构造方法,一个toString方法。
【Date类定义】
public class Date {
private int year;
private int month;
private int day;
public Date() {
}
public Date(int year, int month, int day) {
this.year = year;
this.month = month;
this.day = day;
}
public String toString() {
// TODO Auto-generated method stub
return year+","+month+","+day;
}
}
2、定义一个Book类,属性是私有的,包括书名(name)、价格(price)和出版日期,定义一个不带参数的构造方法,一个带参数的构造方法,一个公有方法setName,一个公有方法getPrice,一个toString方法。
【Book类定义】
public class Book {
private String name;
private double price;
private Date date;
public Book() {
}
public Book(String name, double price, Date date) {
this.name = name;
this.price = price;
this.date = date;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public String toString() {
return this.name+","+this.price+","+this.date;
}
}
3、定义一个Magazine类,从Book类继承,增加一个color属性,定义一个不带参数的构造方法,一个带参数的构造方法,一个公有方法seColor,一个toString方法。
【Magazine类定义】
public class Magazine extends Book {
private String color;
public Magazine() {
super();
}
public Magazine(String color,String name, double price, Date date) {
super(name, price, date);
this.color=color;
}
public void setColor(String color) {
this.color = color;
}
public String toString() {
return this.color;
}
}
4、画出描述上述三个类Date、Book、Magazine之间关系的UML类图。
欢迎光临 java无忧网 (http://www.javawyw.com/) |
Powered by Discuz! X3.2 |