Java基础知识

默认单选

1 在Java中,下面对于构造函数的描述正确的是()。

  A) 类必须显示定义构造函数

  B) 构造函数的返回类型是void

  C) 构造函数和类有相同的名称,并且不能带任何参数

  D) 一个类可以定义多个构造函数

2. 以下属于面向对象的特征的是( )。(两项)

  A) 重载

  B) 重写

  C) 封装

D) 继承

 3. 多态的表现形式有(  )

  A) 重写

  B) 抽象

  C) 继承

D) 封装

 4 . 以下对重载描述错误的是()

  A) 方法重载只能发生在一个类的内部

  B) 构造方法不能重载

  C) 重载要求方法名相同,参数列表不同

D) 方法的返回值类型不是区分方法重载的条件

5 以下程序的运行结果是()

  class Person {

  public Person() {

    System.out.println("this is a Person");

  }

}

 

public class Teacher extends Person {

  private String name = "tom";

 

  public Teacher() {

    System.out.println("this is a Person");

    super();

  }

 

  public static void main(String[] args) {

    Teacher teacher = new Teacher();

    System.out.println(this.name);

  }

}

  A) this is a Person

  this is a teacher

  tom

  B) this is a teacher

  this is a Person

  tom

  C) 运行出错

  D) 编译有两处错误

6 在使用super 和this关键字时,以下描述正确的是()

  A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过

  B) super()和this()不一定要放在构造方法内第一行

  C) this()和super()可以同时出现在一个构造函数中

D) this()和super()可以在static环境中使用,包括static方法和static语句块

7 以下对继承的描述错误的是()

  A) Java中的继承允许一个子类继承多个父类

  B) 父类更具有通用性,子类更具体

  C) Java中的继承存在着传递性

D) 当实例化子类时会递归调用父类中的构造方法

8 以下对接口描述错误的有()

  A) 接口没有提供构造方法

  B) 接口中的方法默认使用public、abstract修饰

  C) 接口中的属性默认使用public、static、final修饰

D) 接口不允许多继承

9 以下描述错误的有()

  A) abstract 可以修饰类、接口、方法

  B) abstract修饰的类主要用于被继承

  C) abstract 可以修饰变量

D) abstract修饰的类,其子类也可以是abstract修饰的

10 以下关于final关键字说法错误的是()(两项)

  A) final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性

  B) final修饰的类肯定不能被继承

  C) final修饰的方法不能被重载

D) final修饰的变量不允许被再次赋值

 11 访问修饰符作用范围由大到小是()

  A) private-default-protected-public

  B) public-default-protected-private

  C) private-protected-default-public

D) public-protected-default-private

12. 下面代码运行结果是()

  public class TestException {

     public int add(int a, int b) {

          try {

               return a + b;

          } catch (Exception e) {

               System.out.println("catch 语句块");

          } finally {

               System.out.println("finally 语句块");

          }

          return 0;

     }

     public static void main(String[] args) {

          TestException demo = new TestException();

          System.out.println("和是:" + demo.add(9, 34));

     }

}

  A) 编译异常

  B) finally语句块 和是:43

  C) 和是:43 finally语句块

  D) catch语句块 和是:43

  return 0;

}

13根据下面的代码,

  String s = null;

  会抛出NullPointerException异常的有()。[两项]

  A) if( (s!=null) & (s.length()>0) )

  B) if( (s!=null) & & (s.length()>0) )

  C) if( (s==null) | (s.length()==0) )

  D) if( (s==null) || (s.length()==0) )

14 在Java中,关于HashMap类的描述,以下描述错误的是(  )。

  A) HashMap使用键/值得形式保存数据

  B) HashMap 能够保证其中元素的顺序

  C) HashMap允许将null用作键

  D) HashMap允许将null用作值

15  Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述错误的是()(选择一项)

  A) ArrayList和LinkedList均实现了List接口

  B) ArrayList的访问速度比LinkedList快

  C) 添加和删除元素时,ArrayList的表现更佳

  D) HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值

16 在Java中,那个()类提供定位本地文件系统,对文件或目录及其属性进行基本操作。

  A) FileInputStream

  B) FileReader

  C) FileWriter

  D) File

简单题:

  如果有两个类A、B(注意不是接口),你想同时使用这两个类的功能,那么你会如何编写这个C类呢?

  谈谈你对抽象类和接口的理解

原文地址:https://www.cnblogs.com/cristin/p/7859675.html