java程序设计比赛
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2题:
如何改写一下所示的两个类,使得第二个类变为第一个类的内类。(运行效果不变)
class First{
public static void main(String [] args){
new Second().sayGoodnightGracy();
}
}
class Second extends First{
void sayGoodnightGracy{
System.out.println("Goodnight, Gracy");
}
}
class First{
public static void main(String [] args){
System.out.println("Goodnight, Gracy");
}
}
选项A
class First{
public static void main(String [] args){
new First(){
void sayGoodnightGracy(){
System.out.println("Goodnight, Gracy");
}
}
}
}
选项B
class First{
public static void main(String [] args){
new Second().sayGoodnightGracy();
}
class Second extends First{
void sayGoodnightGracy(){
System.out.println("Goodnight, Gracy");
}
}
}
选项C
class First{
public static void main(String [] args){
new First().test();
}
void test(){
new Second().sayGoodnightGracy();
}
class Second extends First{
void sayGoodnightGracy(){
System.out.println("Goodnight, Gracy");
}
}
}
选项D
第4题:
可以将哪个监听器接口添加到TextArea对象中?
TextListener
选项A
ActionListener
选项B
MouseMotionListener
选项C
MouseListener
选项D
ComponentListener
选项E
第6题:
试着编译并运行下面的代码,看看会出现什么结果
class Clean{
public static void main(String[] args){
Dirty d = new Dirty();
d.finalize();
d = null;
Runtime r = Runtime.getRuntime();
r.gc();
r.runFinalize();
}
}
class Dirty{
protected void finalize() throws Throwable{
System.out.println("Dirty finalizeation");
}
}
代码无法编译,因为调用finalize()有问题
选项A
代码会编译,但不会显示任何东西
选项B
代码会编译,而且会显示一次Dirty finalization
选项C
代码会编译,而且会显示两次Dirty Finalization
选项D
第19题:
给出类的定义和对象:
class Superclass{}
class Subclass1 extends Superclass{}
和这些对象:
Superclass a = new Superclass();
Subclass1 b = new Subclass1();
下面哪一项解释了a=b语句的结果?
编译时非法
选项A
编译合法,但运行时可能非法
选项B
运行时肯定合法
选项C
第20题:
下面程序的执行结果是什么?
import java.io.*;
class B{
public static void main(String[] args){
try{
File f=new File("B.test");
FileOutputStream out=new FileOutputStream(f);
}
catch(IOException e){
System.out.println(e.getMessage());
}
}
}
抛出一个可以被捕获的IOException异常
选项A
正常运行,但不会产生文件,因为没对它执行写操作
选项B
正常运行,运行后生成文件B.test并且文件长度是0
选项C
第26题:
给出下面的类:
class Counter{
public static void main(String [] args){
Thread t = new Thread(new CounterBehavior());
t.start();
}
}
下面哪个是CounterBehavior的有效定义?其中CounterBehavior使得Counter的main()方法从1数到100,每秒钟数一次
该类是Counter的内类:
class CounterBehavior{
for(int i = 1; i <= 100; i++);
try{
System.out.println(i);
Thread.sleep(1000);
}catch(InterruptedException x){}
}
选项A
该类是Counter的内类:
class CounterBehavior implements Runnable{
public void run(){
for(int i = 1;i<=100;i++){
try{
System.out.println(i);
Thread.sleep(1000);
}catch(InterruptedException x){}
}
}
}
选项B
该类是Counter的静态内类:
static class CounterBehavior implements Runnable{
public void run(){
for(int i = 1;i<=100;i++){
try{
System.out.println(i);
Thread.sleep(1000);
}catch(InterruptedException x){}
}
}
}
选项C
第27题:
假设有两个从Exception类中演化而来的异常类,分别叫做Exception1和Exception2,下面给出两个类的定义。
class First{
void test() throws Exception1, Exception2{...}
}
class Second extends First{
void test(){...}
}
创建一个名叫Third的类来扩展Second,并且定义一个test()方法。那么Third的test()方法会抛出什么异常
Exception1
选项A
Exception2
选项B
没有检测到异常
选项C
声明在Third的test()方法的throws分句中的任何异常
选项D
第28题:
内部类是在一个类内嵌套定义的类。其特点描述错误的是
只能在定义它的类或程序段中或表达式内匿名使用,外部使用时必须给出类的全名
选项A
可以使用它所在类的静态成员变量或实例成员变量,但不可以使用所在类中的局部变量 √
选项B
可以作为其它类的成员,而且可访问它所在类的成员 √
选项C
除static内部类外,不能在类内声明static成员 √
选项D
第33题:
表达式0x800028FF>>3的结果是? (没有答案)
0x900005FF
选项A
0x1000051F
选项B
0x1000011F
选项C
0x9000051F
选项D
第45题:
给出下面的代码
class Tester{
public static void main(String[] args){
CellPhone cell = new CellPhone();
cell.emergency();
}
}
class Phone {
final void dial911(){
//code to dial here
}
}
class CellPhone extends Phone{
void emergency(){
dial911();
}
}
当试图编译并运行Tester类时,会发生什么情况?
代码不编译,因为Phone没被声明为final
选项A
代码不编译,因为不能在子类中调用final方法
选项B
代码编译并运行良好
选项C
代码编译,但当Tester运行时抛出NoSuchMethodException异常
选项D
Phone和CellPhoce正常,但Tester不能编译,因为Tester不
能创建一个由定义final方法的类演化而来的类的实例
选项E
第47题:
分析下面的代码,从给出的陈述中选出最佳的分析。
class A {
public static void main(String[] args) {
method();
}
static void method() throws Exception {
try {
System.out.println("hello");
} finally {
System.out.println("good-bye");
}
}
}
代码将成功编译,显示”hello”和”good-bye”
选项A
代码完成选项a中的工作,之后java停止程序运行,报告抛出异常,但是没有处理
选项B
代码不能编译
选项C
第50题:
给出类的定义
abstract class Transaction implements Runnable{}
class Deposit extends Transation{
protected void process(){
addAmount();
}
void undo(int i){
System.out.println("Undo);
}
}
如果编译该代码,会发生什么?
代码不编译,因为参数i没有用在undo()中
选项A
代码不编译,因为没有main方法
选项B
代码不编译,因为Deposit必须是抽象类
选项C
代码不编译,因为Deposit没有被声明为公有的
选项D
编译成功
选项E