一、简答题
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);
}
}
}