一、简答题
1.什么是包?包中包括一些什么内容?
在Java语言中,程序包(简称包)是存放类和接口的容器,包括类、接口、等内容。

2.如果有一个包pag1,它的子包是pag2,如果需要将这两个包都引入程序,至少需要使用几条import语句?
至少用2条import语句,分别导入包pag1和子包pag2。只用一条import语句是不够的。
3.接口与类有什么不同?与抽象方法存在什么样的关系?
接口(interface)是一种特殊的类,接口是方法定义(即抽象方法)和常量值的集合,只包含常量和方法的定义,没有变量和方法的实现。使用接口的目的是解决Java语言中不支持多重继承的缺陷。
接口中包含若干抽象方法,没有具体的方法。

4.Java提供了哪些系统类库?各起什么作用?
(1)java.lang包:Java语言核心包,包括Java语言基础类,如基本数据类型、基本数值函数、字符串处理、线程、异常处理等。
(2)java.io包:它包含了用于数据输入输出的类,主要用于支持与设备有关的数据输入输出,即数据流输入输出、文件输入输出、缓冲区流以及其它设备的输入输出。
(3)java.applet包:它提供了创建用于浏览器的Applet小程序所需要的类。
(4)java.awt包:awt(Abstract Window Toolkit)抽象窗口工具集,它提供了图形用户界面设计、传略操作、布局管理和用户交互控制、事件响应的类。
(5)java.net包:java网络包,提供了网络应用的支持。
(6)java.math包:java语言数学包,包括数学运算类和小数运算类,提供完善的数学运算方法。
(7)java.util包:java实用程序包,提供了提供了许多实用工具。
(8)java.security包:java安全包,提供了网络安全架构所需的类和接口,可以有效地管理和控制程序的安全性。
(9)java.SQL包:java数据库包,提供了Java语言访问处理数据库的接口和类,它是实现JDBC的核心类库。
(10)java.rmi包:java远程方法调用包,Java.rmi包提供了实现远程方法调用(remote method invocation)所需的类。
(11)java.text包:java文本包,提供了一种独立于自然语言的方式处理文本、日期、数字、消息的类和接口,实现日期、数字、消息的格式化、字符串搜索排序的功能。
(12)java.beans包:提供了一系列与JavaBean开发有关的类。

5.向量类与数组有什么区别?
Vector向量类是 java.util包提供的一个工具类,它是允许不同类型元素共存的变长数组,具有比数组更强大的功能。每个 Vector类的对象都可以表达一个完整的数据系列,同时Vector类还封装了许多有用的方法来操作和处理这些数据。并且 Vector类对象所表达的序列元素的个数是可变的,即 Vector类实现了变长数组。

6.Java的基类是什么?它提供了哪些方法?
Java的基类是java.lang.Object。它提供的主要方法包括:
protected Object clone()
public boolean equals(Object obj)
protected void finalize()
public final class getClass()
public int hashCode()
protected void copy(Object src)
public String toString()

二、编程题
1.编写一个程序实现抽象类。

interface Speed  {  //定义接口
  public int Speed(int x,int y);//定义抽象抽象方法
}  

class Bus implements Speed  {  //继承接口
  public int Speed(int x,int y)  {   //实现抽象方法
    return x+y;
  }
}

public class XT004201  {
  public static void main(String args[])  {
    int a=10,b=20;
    Speed tool=new Bus();  //实例化
    System.out.println("汽车的速度是:"+tool.Speed(a,b));  //调用方法
  }
}

2.写出利用接口实现多重继承的示意性程序。

interface  interface1  {
  void method1();  //定义抽象方法method1
}

interface  interface2  {
  void method2();  //定义抽象方法method2
}

interface interface3 extends interface1,interface2  {
  void method3();  //定义抽象方法method3
}

3.编写一个程序,实现包的建立和包的引入。

//建立包的程序:程序名Farmer.java
package mypackage;
public class Farmer  {
  public String name;
  public String sex;
  public int age;
  public Farmer(String xm,String xb,int nl){
    name=xm;
    sex=xb;
    age=nl;
  }
}
//调用包的程序:XT004203.java
import mypackage.Farmer;
public class XT004203  {
  public static void main(String args[])  {
    Farmer manager=new Farmer("李国军","男",32);
    System.out.println("姓名:"+manager.name);
    System.out.println("性别:"+manager.sex);
    System.out.println("年龄:"+manager.age);
  }
}

三、上要操作题

1.打开JDK文档,熟悉系统类库的组成,了解常见包的属性及方法。

2.编写一个Java Application程序,输入姓名、性别、年龄后系统将用户输入的信息存入一个Vector类对象,然后将这些信息显示出来。

import java.util.*;
import java.io.*;

class People  {
  String name;
  String sex;
  int age;
}

public class XT004302  {
  public static void main(String[] args) throws java.io.IOException  {
    People p = new People();
    Vector v = new Vector();
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    do  {
      System.out.print("Please input name : ");
      p.name = in.readLine();
      System.out.print("Please input sex  : ");
      p.sex = in.readLine();   
      System.out.print("Please input age  : ");
      p.age = Integer.parseInt(in.readLine());   
      v.addElement(p);
      System.out.println("Continue input ? Y/N : ");
    }while ((char)System.in.read()=='Y' ) ;
    for (int i=0;i<v.size();i++)  {
      p = (People)v.elementAt(i);
      System.out.println("name="+p.name +"   sex="+ p.sex +"   age="+p.age);
    }  
  }
}