2019级寒假训练-Java

文章目录

选择题

1-1

匿名内部类不能有构造方法,不能定义任何静态成员、方法和类,只能创建匿名内部类的一个实例。

  • T
  • F

1-2

匿名内部类不能有构造方法,不能定义任何静态成员、方法和类,只能创建匿名内部类的一个实例。

  • T
  • F

1-3

子类拥有的成员数量一定大于等于父类拥有的成员数量。

  • T
  • F

1-4

类的方法可以重载定义,但是构造方法都不可以重载定义。

  • T
  • F

1-5

Java中不可以自定义异常。

  • T
  • F

1-6

Java使用throw和throws来捕获异常。

  • T
  • F

1-7

URLConnection是一个抽象类,表示网络上某个资源的地址。

  • T
  • F

1-8

Socket不能成为网络上运行的程序之间双向通信链路的最后终结点。

  • T
  • F

1-9

DatagramPacket类用于处理报文,它将Bit数组、目标地址、 目标端口号等数据包装成报文或者将报文拆卸成Bit数组。

  • T
  • F

1-10

TCP/IP协议为每种服务定义了端口,当一台计算机上运行不同服务器程序时,可以为一个端口号提供多个不同服务。

  • T
  • F

1-11

final修饰符可应用于类、方法和变量。

  • T
  • F

1-12

反序列化是将数据分解成字节流,以便存储在文件中或在网络上传输。

  • T
  • F

1-13

接口是一种只含抽象方法或常量的特殊抽象类。

  • T
  • F

1-14

线程调用sleep()结束后,立即恢复执行。

  • T
  • F

1-15

智能手机(如iphone、android)可以通过socket或http方式与服务器程序进行交互,是事实上的C/S模式。

  • T
  • F

单选题

2-1
一个客户进程执行以下代码: Socket socket1 = new Socket(host, port); Socket socket2 = new Socket(host, port); 以下哪些说法正确?
(2分)

  • A.socket1与socket2占用不同的本地端口
  • B.Socket构造方法中的port参数指定客户端占用的本地端口
  • C.不能在客户端创建两个Socket对象
  • D.执行第二个程序代码会抛出异常,因为一个客户进程只能与服务器建立一个TCP连接

2-2
运行以下代码的输出结果是?

String s = new String("Bicycle"); 
int iBegin = 1; char iEnd = 3; 
System.out.println(s.substring(iBegin, iEnd));
  • A.Bic
  • B.ic
  • C.icy
  • D.没有和 substring(int,char)匹配的方法

2-3
以命令java Test 1 2 3运行以下代码时,将发生什么?

public class Test{
   

static public void main(String[] args) {
   

int counter = 0;

do

{
   

System.out.println(args[++counter]);

}

while (counter < args.length);

}

}
  • A.编译错误
  • B.编译和运行均成功
  • C.代码总是漏掉最后一个传递给程序的参数
  • D.编译通过,但是在运行时抛出一个运行期异常

2-4
JAVA中内存分配与回收,说法不正确的是。
(2分)

  • A.程序员不需要创建一个线程来释放内存
  • B.类变量定义时不分配内存空间,new用来为类变量分配存储空间
  • C.内存回收程序负责释放无用内存
  • D.开发人员可利用清除对象的方法,当一个对象不使用时,将该对象赋为null

2-5

以下关于异常的说法正确的是。

  • A.一旦出现异常,程序就终止了
  • B.如果一个方法声明将抛出某个异常,它就必须真的抛出那个异常
  • C.在catch子句中匹配异常是一种精确匹配
  • D.可能抛出系统异常的方法是不需要声明异常的

2-6
下列说法正确的是

  • A.每一个JAVA线程可以看成由代码、一个真实的CPU及数据三部分组成
  • B.创建线程的两种方法中,从Thread类中继承的创建方式可防止出现多父类问题
  • C.Thread类属于JAVA.util程序包
  • D.以上说法都错

2-7
关于线程,下面哪个说法是正确的?

  • A.“Runnable” 在JAVA中是关键字,用于标识那些可以作为独立线程的类
  • B.“Runnable” 是一个接口, 以独立线程方式运行的类可以实现它
  • C.“Runnable” 是一个类, 以独立线程方式运行的类可以继承它
  • D.以上说法都不对

2-8
以下关于内部类的说法不正确的是?

  • A.内部类中不能定义static的变量
  • B.除非内部类本身是static 的,否则内部类中不能定义static的变量
  • C.内部类可以作为外部类的子类
  • D.内部类可以是 private的,外部类和顶层类却不能

2-9
对于构造方法,下列叙述中不正确的是。

  • A.构造方法是类的一种特殊方法,它的方法名必须与类名相同
  • B.构造方法的返回类型只能是void型
  • C.构造方法的主要作用是完成对类的对象的初始化工作
  • D.一般在创建新对象时,系统会自动调用构造方法

2-10
下面哪个关键词和方法不是线程同步所需要的

  • A.synchronized
  • B.wait()
  • C.sleep()
  • D.notify()

2-11
线程生命周期中正确的状态是。

  • A.新建状态、运行状态和终止状态
  • B.新建状态、运行状态、阻塞状态和终止状态
  • C.新建状态、可运行状态、运行状态、阻塞状态和终止状态
  • D.新建状态、可运行状态、运行状态、恢复状态和终止状态

2-12
Java语言中,在类定义时用final关键字修饰,是指这个类

  • A.不能被继承
  • B.在子类的方法中不能被调用
  • C.能被别的程序自由调用
  • D.不能被子类的方法覆盖

2-13
下列代码中,子类中能与父类public void methodA(int a){ }方法形成重写的是哪项?

  • A.public int methodA(int a){return 1;}
  • B.public void methodA(int a) throws Exception{ }
  • C.private void methodA(int a){ }
  • D.public void methodA(int b){ }

2-14
在一个Java文件中,使用import、class和package的正确顺序是下列哪项?

  • A.package、import、class
  • B.class、import、package
  • C.import、package、class
  • D.package、class、import

2-15
给出如下代码:

class Test{
   

private int m;

public static void fun() {
   

// some code...

}

}

如何使成员变量m 被函数fun()直接访问?
(2分)

  • 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 改为final int m

2-16
下面关于线程状态的说法正确的是。

  • A.线程被启动后,将处于运行状态,即run()方法正在执行中
  • B.线程结束阻塞状态将进入就绪状态
  • C.当CPU空闲时,可以直接调用阻塞状态的线程来运行
  • D.运行状态的线程就不再可能直接进入就绪状态

2-17
下列类中在多重catch中同时使用时( )异常类应该最后列出。

  • A.ArithmeticException
  • B.NumberFormatException
  • C.Exception
  • D.ArrayIndexOutOfBoundsException

2-18
如何判断一个Socket对象当前是否处于连接状态?

  • A.boolean isConnected = socket.isConnected( )&&socket.isBound( )
  • B.boolean isConnected = socket.isConnected( )&& !socket.isClosed( )
  • C.boolean isConnected = socket.isConnected( )&& !socket.isBound( )
  • D.boolean isConnected = socket.isConnected( )

2-19
编译并运行以下代码的结果是? Test1 是一个类.

    Test1[] t1 = new Test1[10];
    Test1[][] t2 = new Test1[5][];
    if (t1[0] == null)
    {
   
    t2[0] = new Test1[10];
    t2[1] = new Test1[10];
    t2[2] = new Test1[
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值