java課後題複習

第一章 java發展史與開發環境

一、java語言特色

(1)面向對象 (2)跨平臺性 (3)可移植性 (4)安全性 (5)併發性 (6)分佈式 (7)簡單易用java

二、java程序執行過程

(1)源文件由編譯器編譯成字節碼(ByteCode)
(2)字節碼由java虛擬機解釋執行數組

第四章 java的繼承性與多態性

一、若是有兩個類A,B(注意不是接口),你想同時使用這兩個類的功能,你會如何編寫這個C類呢

class A extends B;
class C extends A安全

二、接口有什麼優勢:

java中不支持類的多繼承,即不能同時繼承多個直接父類。但接口中沒有具體的實施細節,也就沒有和存儲空間的關聯,因此能夠將多個接口合併在一塊兒,間接實現類間多重繼承的功能。併發

三、在java中若是聲明一個類爲final,表示什麼意思?

final修飾的類被稱爲終極類,它不能被繼承分佈式

more:final修飾的方法被稱爲終極方法,若是父類中的某個方法用final修飾,則子類不能再重寫該方法了,子類只能繼承該方法的功能,注意:final不能被用來修飾構造函數。終極類中的方法默認是終極方法函數

四、請簡述重載和重寫的區別

重載:測試

(1)方法重載是讓類以統一的方式處理不一樣類型數據的一種手段。多個同名函數同時存在,具備不一樣的參數個數/類型。重載是一個類中多態性的一種表現。code

(2)java的方法重載,就是在類中能夠建立多個方法,他們具備相同的名字,但具備不一樣的參數和不一樣的定義。調用方法時經過傳遞給他們的不一樣參數個數和參數類型來決定具體使用哪一個方法,這就是多態性。對象

(3)重載的時候,方法名要同樣,可是參數類型和個數不同,返回值類型能夠相同也能夠不相同。沒法以返回類型做爲重載函數的區分標準。繼承

重寫:

(1)父類與子類之間的多態性,對父類的函數進行從新定義。若是在子類中定義某方法與其父類有相同的名稱和參數,咱們說該方法被重寫 (Overriding)。在Java中,子類可繼承父類中的方法,而不須要從新編寫相同的方法。但有時子類並不想原封不動地繼承父類的方法,而是想做必定的修改,這就須要採用方法的重寫。方法重寫又稱方法覆蓋。

(2)若子類中的方法與父類中的某一方法具備相同的方法名、返回類型和參數表,則新方法將覆蓋原有的方法。如需父類中原有的方法,可以使用super關鍵字,該關鍵 字引用了當前類的父類。

(3)子類函數的訪問修飾權限不能少於父類的。

五、什麼是繼承

繼承是從已有的類中派生出新的類,新的類能吸取已有類的數據屬性和行爲,並能擴展新的能力。

一、編寫Animal接口,接口中聲明run()方法
interface Animal{
    abstract void run();
}
二、定義bird類和Fish類實現Animal接口
class Bird implements Animal{
}
class Fish implements Animal{
}
三、編寫Bird類和Fish類的測試程序,並調用其中的run方法
class Bird implements Animal{
    public void run(){
        System.out.println("測試成功");
    }
}
class Fish implements Animal{
    public void run(){
        System.out.println("測試成功");
    }
}
public class Animaljiekou{
    public static void main(String[] args){
        Animal p1;
        p1 = new Bird();
        p1.run();
        p1 = new Fish();
        p1.run();
    }
}

第五章 java異常處理機制

一、簡述java中的異常處理機制的簡單原理和應用

原理:每當產生異常時,若是沒有程序進行相應的處理,則程序會中斷的現象,那麼此時實際上產生一個異常後,JVM會拋出一個異常類的實例化對象,若是此時使用了try語句進行補貨的話,則能夠進行異常處理,若是沒有的話,則交給了JVM進行處理,當try語句補貨到了一場以後,會與catch中的異常類型進行匹配,若是匹配成功,則使用此catch語句進行處理。
應用:簡單的應用,就是在全部throws關鍵字的地方加入try...catch

二、簡述java中異常處理的機制

java異常處理機制能夠從兩個方面來描述,當一個java程序違反了java語義的時候,JVM就會拋出一個異常,除此以外還能夠自定義異常,去拓展這種語義的檢查,並在合適的時機,經過throw關鍵字拋出異常

第六章 數組、字符串和集合類

一、
int array[];
array = new int[5];
三、聲明數組變量會爲數組分配內存空間嗎,爲何?

數組聲明之後在內存中沒有分配具體的存儲空間,也沒有設定數組的長度

五、有一個整數數組,其中存放着1,2,3,4,5,6,7,8,9,將該數組倒序存放並輸出
public class ReverseArray {
    public static void main(String[] args) {
        int arr[] = new int[] { 1,2,3,4,5,6,7,8,9 };
        for(int i = 0; i < arr.length / 2; i++){
            int temp = arr[i];
            arr[i] = arr[arr.length - i - 1];
            arr[arr.length - i - 1] = temp;
        }
        for (int i = 0; i < arr.length; i++) {
            //System.out.println(arr[i]); //每一個一行
            System.out.print(" "+arr[i]); //所有一行
        }
        System.out.println();
    }
}
六、在一個數組元素值遞增的數組中插入一個元素值,要求按原來的規律將它插入數組中合適的位置(使用折半查找)
public static int arrayIndexOf(int[] array,int key) {
    int min,max,mid;
    min = 0;
    max = array.length - 1;
    while(min <= max) {
        mid = (min + max) >> 1;
        if (key > array[mid]) {
            min = mid + 1;
        } else if (key < array[mid]) {
            max = mid - 1;
        } else {
            return mid;
        }
    }
    return min;
}
相關文章
相關標籤/搜索