java经典试题 (2)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
试题练习:
阅读下面程序:
public class Cycle {
public static void main(String args[]) {
System.out.println(args[0]);
}
}
在命令行中输入java Cycle one two,该程序输出结果是___。
A.Cycle B.one C.two D.上述A、B、C均不对
下列关键字中可以表示常量的是___。
A.final B.default C.private D.transient
在Java Applet程序用户自定义的Applet子类中,常常重载___方法在Applet的界面中显示文字、图形和其它界面元素。
A.start() B.stop() C.init() D. paint() StringBuffer类字符串对象的长度是___。
A.固定B.必须小于16个字符C.可变D.必须大于16个字符
下列语句中哪个是正确的语句___。
A.RandomAccessFile raf = new RandomAccessFile("myfile.txt","rw");
B.RandomAccessFile raf = new RandomAccessFile(new DataInputStream());
C.RandomAccessFile raf = new RandomAccessFile(new File("myfile.txt"));
D.RandomAccessFile raf = new RandomAccessFile("myfile.txt");
如果在子类中使用被子类隐藏的父类的成员变量或方法,应使用关键字___。
A.this B.class C.super D.super class MouseEvent对应的是___。
A.键盘事件B.窗口事件C.按钮事件D.鼠标事件
运行下列程序,会产生什么结果是___。
public class X extends Thread implements Runnable {
public void run() {
System.out.println("this is run()");
}
public static void main(String args[]) {
Thread t=new Thread(new X());
t.start();
}
}
A.第一行会产生编译错误B.第六行会产生编译错误
C.第六行会产生运行错误D.程序会运行和启动
12.在编写Java Application程序时,若需要使用标准输入输出语句,必须在程序
的开头写上___语句。
A.import java.awt.* ; B.import java.applet.Applet;
C.import java.io.* ; D.import java.awt.Graphics;
TextField t = new TextField("they are good",40);是关于一个使用适当的字符间距的字体的TextField 的表达式,___叙述是对的?
A.被显示的字符串可以使用多种字体
B.一行中最大的字符数是40
C.显示的宽度正好是40 个字符宽
D.用户可以编辑字符
有关线程的叙述___是对的。
A.一旦一个线程被创建,它就立即开始运行。
B.使用start()方法可以使一个线程成为可运行的,并且会立即开始运行。
C.当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。
D.一个线程可能因为不同的原因停止(cease)并进入就绪状态。
下列哪个选项是创建一个标识有“打开”按钮的语句。
A.TextField network11 = new TextField("打开");
B.TextArea network11 = new TextArea("打开");
C.Checkbox network11 = new Checkbox("打开");
D.Button network11 = new Button("打开");
关于垃圾收集的叙述___是对的。
A.程序开发者必须自己创建一个线程进行内存释放的工作。
B.垃圾收集将检查并释放不再使用的内存。
C.垃圾收集允许程序开发者明确指定并立即释放该内存。
D.垃圾收集能够在期望的时间释放被java 对象使用的内存。
以下___类不可以作为FileInputStream 类的构造方法的参数。
A.InputStream
B.File
C.FileDescriptor
D.String
二、填空
一个Java源程序是由若干个语句组成的。
Java中类成员的访问控制符有:private、public、_protected__、缺省,其中_public__是类成员的缺省访问控制符。
Java中的_String__类用于处理字符串常量,而_StringBuffer__类用于处理字符串变量。
线程的创建方式有两种,一种是扩展__Thread_类,一种是实现Runnable___类。
在java中,__this_代表了当前对象的引用,_super__代表了当前对象的父类对象的引用。
在运行java程序时,由java解释器自动引入,而不用import语句引入的包是
_ng__。
三、
1.垃圾收集机制
答:java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放。一般来说,堆的是由垃圾回收来负责的,尽管java规范并不要求特殊的垃圾回收技术,甚至根本就不需要垃圾回收,但是由于内存的有限性,java在实现的时候都有一个由垃圾回收所管理的堆。垃圾回收是一种动态存储管理技术,它自动地释放不再被程序引用的对象,按照特定的垃圾收集算法来实现资源自动回收的功能。
垃圾回收可以简单的理解为:虚拟机自动回收你曾经声明过,但不使用了的那些变量。一般来说垃圾回收是不需要人工干预的,虚拟机会自动的操作这个过程。有的时候可以通过gc对象来手工通知虚拟机来回收垃圾。但并不能保证垃圾回收器会立马回收内存。
2.抽象类与接口
(1)、抽象类里面可以有非抽象方法
但接口里只能有抽象方法
声明方法的存在而不去实现它的类被叫做抽像类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽像类,并让它指向具体子类的一个实例。不能有抽像构造函数或抽像静态方法。
Abstract 类的子类为它们父类中的所有抽像方法提供实现,否则它们也是抽像类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。
(2)接口(interface)是抽像类的变体。在接口中,所有方法都是抽像的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽像的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对像上调用接口的方法。由于