java複習題

2018-10-05 04:06:34

一、 問答題

1、 何為位元組碼,採用位元組碼的最大好處是什麼,

答案:Java源程式經過編譯器編譯,產生的代碼稱為位元組碼。位元組碼是不可執行的程式代碼,它必須有java虛擬機解釋執行。

當java程式要在不同的系統上執行時,程式設計師不需要修改程式,只要使用不同的JVM即可運行,從而實現了java程式。

2、 為什麼要為程式添加注釋,在java程式中,如何添加注釋, 答案:為了使程式容易理解,需要添加適當的說明,來解釋程式的功能、變數的含義或其他信息,增加程式的可讀性。這種說明稱為注釋,注釋在編譯時被編譯器忽略。

Java中,可以按照以下方式給程式添加注釋:

(1)、單行注釋。單行注釋也叫雙斜槓注釋,即在注釋內容前加雙斜槓“//”,表示從“//”開始到本行結束都是注釋內容。

(2)、多行注釋。注釋內容以“/*”開始,以“*/”結束。“/*”和“*/”必須成對出現,“/*”和“*/”之間的內容都是注釋。

3、 什麼是變數,變數名與變數值有什麼區別,

答案:

變數:變數指在程式運行過程中其值可以改變的量。

區別:變數蘊涵有兩個含義,其一是變數名,是用戶為變數定義的標識符;其二是賦給變數的值,他存放在一變數標識符作為標記的存儲位置。所以,變數名是用戶定義的一個標識符,而變數的值是存儲在系統的值。

4、 什麼是類,如何設計一個類,類中包含那幾個部分,

答案:(1)、類是對對象的抽象描述,是創建對象的模板。在程式設計中,將具體對象進行抽象處理變為程式中的“類”是編製程序的首要任務,同時也是程式設計優劣的關鍵。

(2)、設計類:通過對現實生活中的具體對象進行抽象和處理,設計出相應的“類”。

(3)、類由屬性和方法組成。Java語言中,定義類的一般形式為

Class 類名

{

成員變數

成員方法

}

5、 什麼是構造方法,構造方法有哪些特點,

答案:構造方法是類中方法名與類名相同的方法。當使用關鍵字new創建一個對象時,java系統自動調用構造方法去初始化這個新建對象,構造方法是類方法中特殊方法。

(1) 構造方法的名字與類名相同。構造方法不在程式中顯式調用,當用戶使用關鍵字new創建對象時,系統為對象分配存儲區域並自動調用該方法對對象

1/25頁

進行初始化操作。

(2) 構造方法是類方法的一陣特殊形式,它的主要作用是初始化對象中的成員變數。

(3) 構造方法沒有返回值,方法名前面也沒有void關鍵字。 (4) 一個類中可以定義多個擁有不同數量、不同類型參數的構造方法。

6、 子類能夠繼承父類的哪些成員變數和方法,

答案:在繼承關係中,子類只能繼承父類中非私有的成員變數和方法。所謂非私有成員變數和方法是指被除private以為的其他訪問控制符修飾的成員變數和方法。

7、 重載與覆蓋有什麼不同,

答案:方法重載指在一個類中創建了多個方法,它們具有相同的方法名,但參數的個數不同、或參數的數據類型不同,或兩者都不相同。

覆蓋是指子類中定義的方法與父類中方法名相同,子類在調用這個同名方法時,默認是調用它自己定義的方法,而將從父類那裡繼承來的方法“覆蓋”住,好像此方法不存在一樣。如果一定要調用父類的同名方法,可以使用“super”關鍵字來指定。

重載和覆蓋的不同之處是:重載是在一個類中有多個方法,方法名相同而參數不同;覆蓋是指父類和子類中方法同名且擁有相同的參數列表,子類在調用時默認調用子類的同名方法而覆蓋掉父類的方法。

8、 什麼是抽象類,它的特點是什麼,

答案:

抽象類:抽象類是專門設計用來讓子類繼承的類。

特點:抽象類通常都包括一個或多個抽象方法(只有方法說明,沒有方法體),抽像類的子類必須實現其父類定義的每個抽象方法,除非該子類也是抽象類。

9、 什麼是接口,它的特點是什麼,

答案:

接口:是由一些抽象方法和常量所組成的集合。

特點:

(1) 接口可以實現多繼承。多繼承可以通過在extends後面使用多個父接口來實現。

(2) 接口不存在最高層,與類的最高層為Object類是不同的。 (3) 接口中的方法都是使用abstract修飾的方法。

(4) 接口中的成員變數默認為final定義的常量。

10、何為異常,為什麼要進行異常處理,

答案:異常指程式運行過程中出現的非正常行為,例如用戶輸入錯誤、除數為零等。

由於異常情況總是難免的,良好的應用程式具備用戶所要求的基本功能外,還應該具備預見並處理可能發生的各種異常的功能。為了使程式具有較強的容錯能力,使引入了異常處理技術。所以,開發應用程式時要充分考慮各種意外情況,

2/25頁

使程式具有較強的容錯能力。這種對異常情況進行處理的技術稱為異常處理

11、何為流,根據流的方向,流可分為哪兩種,

答案:流是在計算機的輸入、輸出操作中流動的數據序列。

根據流的方向,可以分為輸入流(input stream)和輸出流(output stream)。輸入流是從鍵盤、磁碟檔案流向程式的數據流,為程式提供輸入信息。輸出流是從程式流向顯示器、印表機、磁碟檔案的數據流,實現程式的輸出功能。

二、大題

1、設計一個描述二維平面上點的類Position,它有兩個成員變數x,y;建立平面聲的兩個點對象source和target,輸出它們的坐標以及它們之間的距離。 答案:

Class Position

{

private int x,y;

Position(int a,int b)

{

X=a;y=b

}

public int getX( )

{

Return x;

}

public int getY( )

{

Return y;

}

public double distance(Position p,Position q)

{

return Math.sqrt((p.getX( )-q.getY( ))*(p.getX( )-q.getY( ))

+(p.getX( )-q.getY( ))*(p.getX( )-q.getY( )));

}

public static void main(String args[ ])

{

int x1, x2,y1,y2;

double dis;

Position source=new Position(0,0);

Position target=new Position(5,8);

x1=source.getX( );

y1=source.getY( );

x2=target.getX( );

y2=target.getY( );

3/25頁

System.out.println(“第一個點的坐標:(“+x1+”,”+y1+”)” );

System.out.println(“+x2+”,”+y2+”)” );

dis=source.distance(source,target);

System.out.println(“兩點之間的距離是:”+dis);

}

}

2、設計一個活期存摺類,其中包括成員變數name(姓名)、indentity(編號)、address(家庭住址)、balance(存款額)、date(辦理日期)、hasPassword(是否要密碼)和password(密碼)。

使活期存摺了創建對象,為zhangsan辦理一個活期存摺,其成員變數的值分別為zhangsan(姓名)、1234567890(編號)、西安市興慶路10號(家庭住址)、1000(存款額)、當天日期(辦理日期)、true(是否要密碼)、123456(密碼)。 答案:

import java.util.*;

public class Bankbook

{

String name;

long identity;

String address;

int balance;

Date date;

boolean hasPassword;

long password;

Bankbook(String str1,long i,String str2,int m,Date d,boolean y,long p)

{

name=str1;

identity=i;

address=str2;

balance=m;

date=d;

hasPassword=y;

password=p;

}

public void show( )

{

System.out.println(“基本信息”);

System.out.println(name+” ”+identity+” ”+address);

System.out.println(balance+” “+date+“ “+hasPassword+” “+password); }

public static void main(String args[ ]) {

bankbook zhangsan=new bankbook(“zhangsan”,1234567890,”西安市興慶路10

4/25頁

號”,1000,newDate( ),true,123456);

zhangsan.show( );

}

}

3、設計一個交通工具類Vehicle,其中的屬性包括speed、類別kind、顏色color、

方法包括設定速度、設定顏色、取得類別、取得顏色。創建Vehicle的對象,為

其設定新速度和顏色,並顯示其狀態(所有屬性)。 答案:

public class Vehicle

{

String color;

String kind;

int speed;

Vehicle( )

{

color=”Red”;

kind=”卡車”;

speed=0;

}

public void setColor(String color1)

{

color=color1;

}

public void setSpeed(int speed1)

{

speed=speed1;

}

public void setKind(String kind1)

{

kind=kind1;

}

public String getColor( )

return color

}

public String getKind( )

{

return kind;

}

public String getSpeed( )

return speed

}

5/25頁

相關文章
精选文章