2021年10月12日 java2

考点2:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public boolean returnTest()
{
try
{
return true;
}
catch (Exception e)
{

}
finally
{
return false;
}
}

以上代码返回值是什么?

  • A true
  • B false
显示答案/隐藏答案正确答案: B

一旦在finally块中使用了return或throw语句,将会导致try块,catch块中的return,throw语句失效

考点3:

检查程序,是否存在问题,如果存在指出问题所在,如果不存在,说明输出结果。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class HelloB extends HelloA 
{
public HelloB()
{
}
{
System.out.println("I’m B class");
}
static
{
System.out.println("static B");
}
public static void main(String[] args)
{
new HelloB();
}
}
class HelloA
{
public HelloA()
{
}
{
System.out.println("I’m A class");
}
static
{
System.out.println("static A");
}
}
  • A static A I’m A class static B I’m B class
  • B I’m A class I’m B class static A static B
  • C static A static B I’m A class I’m B class
  • D I’m A class static A I’m B class static B
显示答案/隐藏答案正确答案: C

子由父生,执行顺序为:
父类的静态代码块>子类的静态代码块>父类的构造代码块>父类的构造函数>子类的构造代码块>子类的构造函数

考点4:

面向对象方法的多态性是指()

  • A 一个类可以派生出多个特殊类
  • B 一个对象在不同的运行环境中可以有不同的变体
  • C 针对一消息,不同的对象可以以适合自身的方式加以响应
  • D 一个对象可以是由多个其他对象组合而成的
显示答案/隐藏答案正确答案: C

C听起来好别扭,我觉得是:对于同一个父类方法,不同的子类会有不同的实现方式

考点5:

以下代码运行输出的是

1
2
3
4
5
6
7
8
9
10
11
public class Person{
private String name = "Person";
int age=0;
}
public class Child extends Person{
public String grade;
public static void main(String[] args){
Person p = new Child();
System.out.println(p.name);
}
}
  • A 输出:Person
  • B 没有输出
  • C 编译出错
  • D 运行出错
显示答案/隐藏答案正确答案: C

2.关于多态。子类继承了父类的所有成员,包括private权限的成员变量,但是继承的子类具有私有变量的拥有权但是没有使用权。
3.private的成员变量,根据权限修饰符的访问控制范围,只有在类内部才能被访问,就算是他的子类,也不能访问。

考点6:

在java中,下列对继承的说法,正确的是( )

  • A 子类能继承父类的所有成员
  • B 子类继承父类的非私有方法和状态
  • C 子类只能继承父类的public方法和状态
  • D 子类只能继承父类的方法
显示答案/隐藏答案正确答案: A

子类和继承父类的所有成员

我们有时候会分不清继承和访问权限的问题。子类可以继承父类所有的成员,但是对private这样的,没有访问权。

考点7:

如果希望监听TCP端口9000,服务器端应该怎样创建socket?

  • A new Socket(“localhost”,9000);
  • B new ServerSocket(9000);
  • C new Socket(9000);
  • D new ServerSocket(“localhost”,9000);
显示答案/隐藏答案正确答案: B

考点8:

下列关于容器集合类的说法正确的是?

  • A LinkedList继承自List
  • B AbstractSet继承自Set
  • C HashSet继承自AbstractSet
  • D WeakMap继承自HashMap
显示答案/隐藏答案正确答案: C

a选项LinkedList类是实现了List接口,而不是继承

1
2
3
public class LinkedList<E>
extends AbstractSequentialList<E>
implements List<E>, Deque<E>, Cloneable, Serializable

b选项AbstractSet类实现Set接口

1
public abstract class AbstractSet<E> extends AbstractCollection<E> implements Set<E>

c选项HashSet继承AbstractSet类,同时也实现Set

1
public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, Serializable

D选项,java没有WeakMap,有WeakHashMap:

1
2
3
public class WeakHashMap<K,​V>
extends AbstractMap<K,​V>
implements Map<K,​V>

考点9:

下列关于异常的说法,正确的是()

  • A RuntimeException及其子类的异常可以不做处理
  • B Catch段中的语句,不允许再次出现异常
  • C 在方法定义中以throws标识出的异常,在调用该方法中的方法必须处理
  • D 程序中所有的可能出现的异常必须在catch中捕获,否则将引起编译错误
显示答案/隐藏答案正确答案: A