一、填空题
1、在运行Java程序之前,必须安装jdk或jre ;
2、Java的类体系结构中,根类是___ java.lang.Object _____________;
3、在Java程序中,类的定义只能实现单继承,但通过接口的定义可以实现__多___重继承关系;
4、在Java源程序文件中有三种形式的注释,分别是:单行注释、多行注释及____文档注释_______;
5、for(int e:a)就是__ for each e in a _________的意思;
6、类的成员变量和成员方法的访问权限有public、__ private及protect___和default
7、如果子类重写了父类的某个方法后,用父类型变量引用子类对象时,调用这个方法时一定是调用_子类重写的这个方法____________;
8、用于进行字符串分割的类是StringTokenizer ;
9、使用_ generics_______可以清除不安全的类型转化,在编译时可以进行类型检查;
10、a = b / c可能产生_ java.lang.ArithmeticException ____________异常;
11、Java的输入输出流可分为字节流和___字符流_______。
12、线程的线程体方法为run(),要启动这个线程的方法为_ start()_________;
13、__ FlowLayout _______是Panel,Applet的缺省布局管理器;
14、在java.sql.*包中处理处理具有毫秒级的时间的类是__ java.sql.Timestamp ___;
15、__ JavaBeans ________是平台独立的软件组件模型,使软件开发者可以设计可重用的软件组件。
16、在sokect通信中服务器的任务就是等候建立一个连接,产生的Socket 的方法是__ accept()_____;
17、在 Java 早期的版本中,JVM 资源访问通过__“沙箱”_______安全模型来实施;
18、___Servlet _____就是用 Java 编写的服务器端程序,是由服务器端调用和执行的 Java 类;
19、J2EE平台提供了一个___多层结构___的分布式应用程序模型;
20、Java虚拟机执行过程中的三个特点是多线程、___动态连接___、异常处理。
二、单项选择题
1、关于Servlet的论述,正确的是()
A、Servlet就是一般的Java程序,和Applet一样。
B、Servlet可以通过java servlet-name直接运行
C. 有些Servlet是需要在客户端运行的
D、我们常说的Servlet是运行在服务器端Java程序
2、如果类中的成员变量可以被同一包访问,则使用如下哪个约束符:()
A、private。
B、public
C、protected
D、没有约束符
3、下面哪个事件在Java中没有事件适配器?()
A、MouseListener
B、KeyListener
C、ActionListener
E、WindowListener
4、对于构造函数,下列叙述正确的是()。
A、构造函数不允许重载。
B、构造函数没有返回类型。
C、子类不允许调用父类的构造函数。
D、在同一个类中定义的重载构造函数不可以相互调用。
5、TextArea对象不能注册下列哪个接口? ()
A、 TextListener
B、 ActionListener
C、 MouseMotionListener 和MouseListener
D、 ComponentListener
6. 下面应用程序中的main()方法声明是正确的()。
A、public static void main()
B、public static void main(String[] string)
C、public static void main(String args)
D、static public int main(String[] args)
7、为了使下面的程序的输出结果是“running”,因该在注释//A处填写什么
代码()。
class RunTest implements Runnable {
public static void main(String[] args) {
RunTest rt = new RunTest();
Thread t =new Thread(rt);
//A
}
public void run() {
System.out.println("running");
}
void go() {
start(1);
}
void start(int i) {
}
}
选择项如下:
A、 rt.run()
B、 t.start()
C、 rt.go()
D、 rt.start(1)
8、下面关于继承的哪个叙述是正确的()。
A、在java中只允许单一继承;
B、在java中一个类只能实现一个接口;
C、在java中一个类不能同时继承一个类和实现一个接口;
D、在java中允许多继承
9、关于垃圾收集的那些描述是对的()。
A、程序开发者必须自己创建一个线程进行内存释放的工作;
B、垃圾收集将检查并释放不再使用的内存;
C、垃圾收集允许程序开发者明确指定并立即释放该内存;
D、垃圾收集能够在期望的时间释放被java对象使用的内存;
10、下列哪项不是子类继承方法的规则()。
A.能够继承那些声明为public和protected的成员方法。
B.能够继承同一包中的默认修饰符的成员方法。
C.不能继承那些声明为private的成员方法。
D.继承超类的构造方法。
11、请问所有的异常类皆继承哪一个类?()。
A.java.io.Exception
B.java.lang.Throwable
C.java.lang.Exception
D.java.lang.Error
12、给出下面的代码:
class Base { }
class Derived extends Base{
public String getFields(){
String name = " Derived ";
return name;
}
}
public class Test{
public static void main(String argv[]){
Base a = new Derived ();
//Here
}
}
哪一行代码放在//Here处会产生“Derived”输出结果()。
A.S ystem.out.Fields());
B.S ystem.out.println(a.name);
C.S ystem.out.println((Base) a.getFields());
D.S ystem.out.println( ((Derived) a).getFields());
13、已知一个字符串s=”ABCDEF”,求子字符串s.substring(2,4)结果为()。
A.“CDE”
B.“CD”
C.“BC”
D.“CDEF”
14、下面那个语句声明的变量a不可以引用一个包含50个字符串对象的数组?()
A. char a[][];
B. String []a;
C. Object a[50];
D. String a[50]; 15、下面说法正确的是()。
A.默认构造方法可以有返回类型
B.默认构造方法可以接受参数
C.默认构造方法不能接受参数
D.如果已经有其他构造方法存在,默认的构造方法不创建就可以调用。
16、选择输出结果
public class Test {
public static void changeStr(String str){
str="welcome";
}
public static void main(String[] args) {
String str="1234";
changeStr(str);
System.out.println(str);
}
}
A. 1234
B. welcome
C. 1234welcome
D. welcome1234
17、给出如下代码:
class Test{
private int m;
public static void fun() {
//
}
}
如何使成员变量m 被函数fun()直接访问?
A、将private int m 改为protected int m
B、将private int m 改为 public int m
C、将private int m 改为 static int m
D、将private int m 改为 int m
18、下面哪一个不是InputStream类中的方法?
A. int read(byte[])
B. void flush()
C. void close()
D. int available()
19、已知一个事件ActionEvent,下面哪个方法得到事件源组件?
A、getTarget();
B、getClass();
C、getSource();
D、getActionCommand();
20、当浏览器返回到新URL的包含applet 的页面时调用以下哪个函数?
A、init()
B、start()
C、stop()
D、destroy()
答案:
1)D
2)D
3)C
4)B
5)B
6.B
7.B
8.A
9.B
10.D
11.B
12.D
13.B
14.A
15.C
16.A
17.C
18.B
19.C
20.B
三、判断题(1分/每小题,共10分)(T为正确,F为错误)
1. Java 的基本数据类型与平台有关的。()
2. 包含抽象方法的类必须被声明为抽象类。()
3. 构造方法可以被声明为private。()
4. 类InputStream是FileReader的父类。()
5. 构造方法可以有void 返回类型。()
6.任何类都有构造函数,如果没有构造函数,就不能创建该类的对象。( ) 7. String s = new String("xyz");创建了1个String 对象。( )
8. und(-11.5)返回-11。( )
9.数组有length()方法。( )
10.Java把数组当作对象看待。()
答案:1. F
2. T
3. T
4. F
5. F
6. T
7. F
8. T
9. F
10.T
四、程序分析题
1、请写出testing()被调用时的输出结果
void testing() {
one:
for (int i = 0; i <=3; i++) {
two:
for (int j = 10; j < 30; j+=10) {
System.out.println(i + j);
if (i > 2)
break one;
}
}
}
答案:
10
20
11
21
12
22
13
2、请写出输出结果
public class Test{
public static String output="";
public static void foo(int i){
try {
if(i==1){
throw new Exception(); }
output +="1";
} catch(Exception e){
output+="2";
return;
} finally{ output+="3";
}
output+="4";
}
public static void main(String args[]){
foo(0);
foo(1);
System.out.println(output); }
}
答案:
Answer:13423
3、请写出下面程序的输出结果
package test; //父类:
public class FatherClass {
public FatherClass() {
System.out.println("FatherClass Create");
}
}
package test; //子类:
import test.FatherClass;
public class ChildClass extends FatherClass { public ChildClass() {
System.out.println("ChildClass Create");
}
public static void main(String[] args) {
FatherClass fc = new FatherClass();
ChildClass cc = new ChildClass();
}
}
答案:
FatherClass Create
FatherClass Create ChildClass Create
4、请写出下面程序的输出结果
package test;
public class OuterClass {
private class InterClass {
public InterClass() {
System.out.println("InterClass Create"); }
}
public OuterClass() {
InterClass ic = new InterClass();
System.out.println("OuterClass Create"); }
public static void main(String[] args) {
OuterClass oc = new OuterClass();
}
}
答案:
InterClass Create
OuterClass Create
5、请写出下面程序的输出结果
class Vehicle {
public void drive() {
System.out.println("Vehicle: drive");
}
}
class Car extends Vehicle {
public void drive() {
System.out.println("Car: drive");
}
}
public class Test {
public static void main (String args []) { Vehicle v;
Car c;
v = new Vehicle();
c = new Car();
v.drive();
c.drive();
v = c;
v.drive();
java可以开发什么软件}
}
答案:
Vehicle: drive
Vehicle
Car: drive
Car
Car: drive
Car
.
五、简答题
1、简述Java面向对象的三个重要特性。
答:p4.
2、什么是上转型对象?请举例说明。P.88
3、什么是方法重载?
p.58
4、简述java applet程序的加载和运行过程。
p.11
5.什么是进程?什么是线程?线程与进程之间是什么关系?
P.151
6、简述线程的生命周期的各种状态。
P152
6、简述重写和重载的区别。
方法的重写和重载是Java多态性的不同表现。重写是父类与子类之间多态性的一种表现,重载是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论