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类图。
|