天天看點

Java 專項練習【1 - 10】(每日精進系列)

以下關于構造函數的描述錯誤的是 ( )

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

總結

以上所有題目整理自牛客網