且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-01-03 05:50:20

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

A、每个类有且只能有一个构造函数。

B、构造函数是类的一种特殊函数,它的方法名必须与类名相同

C、构造函数的主要作用是完成对类的对象的初始化工作

D、一般在创建新对象时,系统会自动调用构造函数


解析

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


参考答案

A


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


class A{

    int i;

    static String s;

    void method1() {  }

    static void method2() {  }

}

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】(每日精进系列)堆是 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、long 和 double 都占了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


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


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

解析

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

参考答案

C

给出下面的代码段:

public class Base{
    int w, x, y ,z;
    public Base(int a,int b)
    {
        x=a; 
        y=b;
    }
    public Base(int a, int b, int c, int d)
    {
        // assignment x=a, y=b
        w=d;
        z=c;
    }
}

在代码说明 // 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


总结

以上所有题目整理自牛客网,如果对你有所帮助,那就一键三连吧!感谢 ~ ❤️❤️❤️