以下关于构造函数的描述错误的是 ( )

A、每个类有且只能有一个构造函数。
B、构造函数是类的一种特殊函数,它的方法名必须与类名相同
C、构造函数的主要作用是完成对类的对象的初始化工作
D、一般在创建新对象时,系统会自动调用构造函数

解析

构造函数是一种特殊的函数,它必须与类同名,而且默认每个类都带有一个无参的构造函数,此外还可以根据我们的需要自定义多个构造函数,而构造函数的功能主要用于构建对象并初始化。

参考答案

A

假设 A 类有如下定义,设 a 是 A 类同一个包下的一个实例,下列语句调用哪个是错误的?()

  1. class A{
  2. int i;
  3. static String s;
  4. void method1() { }
  5. static void method2() { }
  6. }

A、System.out.println(a.i);
B、a.method1();
C、A.method1();
D、A.method2();

解析

在 Java 中,非静态方法只能是通过类的实例对象来调用,但不能直接通过类名调用。但静态(static)方法既可以通过实例对象来调用,也可以通过类名调用,当然,为了避免不必要的麻烦,我们一般都是推荐直接使用类名来调用。

参考答案

C

下列类定义中哪些是合法的抽象类的定义?()

A、abstract Animal{abstract void growl();}

B、class abstract Animal{abstract void growl();}

C、abstract class Animal{abstract void growl();}

D、abstract class Animal{abstract void growl(){System.out.println( “growl”);};}

解析

无论是抽象类还是其他类,关键字 class 都必须在类名之前,而修饰符都应该在 class 之前。

另一方面,对于抽象类中的抽象方法,是不能有方法体的。

参考答案

C

以下 J2EE 中常用的名词解释错误的是?

A、EJB 容器:Enterprise Java bean 容器
B、JNDI:Java 事务服务。提供各种分布式事务服务。应用程序只需调用其提供的接口即可。
C、JMS:Java 消息服务。主要实现各个应用程序之间的通讯。包括点对点和广播。
D、JAF:Java 安全认证框架。提供一些安全控制方面的框架。

解析

EJB 容器:Enterprise Java bean 容器。更具有行业领域特色。他提供给运行在其中的组件 EJB 各种管理功能。只要满足J2EE 规范的 EJB 放入该容器,马上就会被容器进行高效率的管理。并且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理。
JNDI:(Java Naming & Directory Interface)Java 命名目录服务。主要功能:提供一个目录系,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能。
JMS:(Java Message Service)Java 消息服务。主要实现各个应用程序之间的通讯。包括点对点和广播。
JAF:(Java Action FrameWork)Java 安全认证框架。提供一些安全控制方面的框架。让开发者通过各种部署和自定义实现自己的个性安全控制策略。

参考答案

B

以下哪个区域不属于新生代?

A、eden 区
B、from 区
C、元数据区
D、to 区

解析

Java 专项练习【1- 10】(每日精进系列) - 图1

堆是 JVM 中最大的一块内存,主要用于存放各种类的实例对象,一般被划分为新生代(Young)和老年代(Old)。其中新生代又分为三个区域:Eden、From Survivor、To Survivor,三者所占大小比例为 Eden : From : To = 8 : 1 : 1。

参考答案

C

一个文件中的数据要在控制台上显示,首先需要( )。

A、System.out.print (buffer[i]);
B、FileOutputStream fout = new FileOutputStream(this.filename);
C、FileInputStream fin = new FileInputStream(this.filename);
D、System.in.read(buffer);

解析

InputStream 是 Java 标准库所提供的最基本的输入流,是所有输入流的超类,如果我们要从文件中读取相应数据,则应该使用 FileInputStream

OutputStream 是 Java 标准库所提供的最基本的输出流,是所有输出流的超类,如果我们要将若干个字节写入文件流,我们则需要使用 FileOutputStream

参考答案

C

下面对静态数据成员的描述中,正确的是

A、静态数据成员可以在类体内进行初始化
B、静态数据成员不可以被类的对象调用
C、静态数据成员不受 private 控制符的作用
D、静态数据成员可以直接用类名调用

解析

静态属性仅可以被静态方法调用,但只能被本类中的方法(可以是非静态)调用,在外部类中创建该类的对象或直接使用该类访问都是非法的。此外,静态属性也可以用 private 所修饰。

参考答案

A

下列在 Java 语言中关于数据类型和包装类的说法,正确的是()

A、基本(简单)数据类型是包装类的简写形式,可以用包装类替代基本(简单)数据类型
B、longdouble 都占了64 位(64bit)的存储空间。
C、默认的整数数据类型是 int,默认的浮点数据类型是 float
D、和包装类一样,基本(简单)数据类型声明的变量中也具有静态方法,用来完成进制转化等。

解析

基本数据类型:byte、short、char、int、long、float、double、boolean

对应的包装类:Byte、Short、Character、Integer、Long、Float、Double、Boolean

默认整数数据类型均为 int,而浮点数默认为 double

基本数据类型没有任何方法,但其对应的包装类有。

参考答案

B

下面代码的运行结果是( )

  1. public class Arraytest
  2. {
  3. int a[] = new int[6];
  4. public static void main ( String arg[] ) {
  5. System.out.println ( a[0] );
  6. }
  7. }

解析

a 是一个非静态属性,main 是一个静态方法,而静态方法中是无法访问非静态属性的,所以如果要在静态方法中访问非静态属性,必须将非静态属性声明为静态属性,否则将会导致编译错误。

参考答案

C

给出下面的代码段:

  1. public class Base{
  2. int w, x, y ,z;
  3. public Base(int a,int b)
  4. {
  5. x=a;
  6. y=b;
  7. }
  8. public Base(int a, int b, int c, int d)
  9. {
  10. // assignment x=a, y=b
  11. w=d;
  12. z=c;
  13. }
  14. }

在代码说明 // assignment x = a, y = b 处写入如下哪几个代码是正确的?()

A、Base(a,b);
B、x=a, y=b;
C、x=a; y=b;
D、this(a,b);

解析

对于 A,如果我们要调用构造方法,则应该这样 new Base(a, b)

对于 B,语法错误,不能使用 ,

对于 C,正确,即赋值操作。

对于 D,this 关键字表示调用本类的构造方法,所以效果和 C 一样。

参考答案

C、D

总结

以上所有题目整理自牛客网,如果对你有所帮助,那就一键三连吧!感谢 ~ Java 专项练习【1- 10】(每日精进系列) - 图2Java 专项练习【1- 10】(每日精进系列) - 图3Java 专项练习【1- 10】(每日精进系列) - 图4