JAVA期末簡答題參考

鵬不是這個朋發表於2020-12-27

:介於作者能力有限,難免不出現錯誤

JAVA基本語法

1.基本資料型別與位元組陣列、字元陣列的互相轉換方式?試舉例說明。
答:


2.字串型別如何與位元組陣列、字元陣列的互相轉換?
答:
使用字串型別的getBytes()方法可到的位元組陣列、用toCharry()方法可得到字元陣列。
使用字串型別的構造方法即可將位元組陣列、字元陣列轉換成字串型別。


3.字串型別如何與基本資料型別互相轉換?
答:
字串型別轉換為基本資料型別:呼叫基本資料型別對應的封裝類的parseXxx()方法
基本資料型別轉化為字串型別:呼叫String類的valueOf()方法


4.什麼是基本資料型別的封裝類?自動裝箱、自動坼箱的概念及舉例說明。
答:就是按照物件導向的做法,將基本資料型別封裝成物件。
如int的封裝類是Integer
自動裝箱:將基本資料型別的變數賦給對應的包裝類變數
自動拆箱:將包裝類物件型別直接賦給一個對應的基本資料型別變數
如 Integer num = 12;
int count = num + 1; 這裡的count=13

1.什麼是抽象類?什麼是介面?試說明它們的區別和聯絡,使用介面有什麼好處?
答:
由abstract修飾的類叫做抽象類。
介面相當於抽象類,但實質上是類型別。
介面中定義的方法都是抽象方法,定義的屬性都是常量
在方法前預設加public abstract
在屬性前預設加public static final
好處:介面和類不同,不具有單繼承性,可以繼承多個介面


2.一個類允許實現多個介面嗎?允許繼承多個類嗎?
答:
允許實現多個介面,不允許繼承多個類


3.JAVA中定義類的時候,構造方法可以是私有的嗎(private修飾)?如果允許,如何構造該類的物件?可舉例說明。
答:
可以
class Person{
private Person(){
}
private static Person person = new Person();
public staitc Person getPerson(){
return person;
}
}
public class Test{
public static void main(String [] args){
Person p = Person.getPerson;
}
}


4.什麼是方法的過載?什麼是方法的重寫?可舉例說明。
答:
在一個程式中定義多個名稱相同,但引數的型別或個數不同的方法這就是方法的過載。
在繼承關係中,子類會自動繼承父類中公共的方法,但有時在子類中需要對整合的方法進行一些修改,對父類的方法進行重寫,要求有相同的方法名、引數列表、返回值型別。


5.試說明“==”與equals(Object類)方法之間的關係? 子類重寫equals方法在程式設計中有何意義?可舉例說明。
答:
==比較的是地址
equals比較的是兩個物件的內容
重寫equals()是為了實現自己的區分邏輯。
例如:“abc”.equals(“abc”)返回true是我們要的結果,符合我們區分邏輯。而不是像Object的equals方法那樣“this == obj”引用相等才相同。所以String需要重寫Object的equals方法。


6.JAVA中對於字串資料進行處理有哪些類?各有什麼特點?它們有什麼聯絡?可舉例說明。
有三種類:
String、StirngBuffer、StringBuilder
String:String類的方法都是返回new String。即對String物件的任何改變都不影響到原物件,對字串的修改操作都會生成新的物件。
StringBuffer:可變字元序列、執行緒安全
StringBuilder:可變字元序列、執行緒不安全

異常

1.什麼是異常?JAVA中如何處理異常?
答:
異常是程式中出現的不正常情況,而不是JAVA虛擬機器本身比較嚴重的錯誤
利用try-catch或try-catch-finally結構處理異常


2.JAVA中的異常可以分為執行時異常和受檢異常,它們的含義是什麼?可舉例說明。
答:
執行時異常,指的是RuntimeException類以及它的子類
JAVA編譯器在編譯的時候不會提示和發現的異常,不強制要求程式進行處理
受檢異常:指的是除RuntimeException以外的異常,從語法上必須進行處理的異常需利用try-catch或try-catch-finally結構處理異常
或者利用throw或throws丟擲異常


3.如何利用throw和throws丟擲異常?
答:
throw必須寫在方法中,執行throw語句的地方就是一個異常丟擲點
throws:寫在方法宣告中表明將要丟擲何種異常,可以丟擲多個異常

集合

如何理解JAVA中的集合框架?它包括哪些型別?各有什麼特點?
答:
集合框架:為表示和操作集合而規定的一種統一標準體系結構。
集合可分為兩大類:單列集合Collection和雙列集合Map
Collection:有兩個重要的子介面List和Set。List元素有序允許重複
Set元素無序不允許重複
Map儲存具有鍵(Key)值(Value)對映關係的元素,Key是唯一的

輸入輸出

1.JAVA中,如何進行標準輸入和標準輸出?JAVA如何進行輸入輸出重定向?
答:
標準輸入:System.in
標準輸出:System.out、System.err


2.JAVA中的輸入輸出按傳輸的資料單元可以分為位元組流和字元流,按傳輸的方向分為輸入流和輸出流。你所瞭解的輸入流和輸出流有哪些?各有什麼特點?(可舉例說明)

多執行緒

1.什麼是程式?什麼是執行緒?程式與執行緒有什麼關係?
答:
在一個作業系統中,每一個獨立執行的程式都可以成為一個程式
在一個程式中還可以有多個執行單元同時執行,來同時完成多個程式任務,這些執行單元被稱為執行緒。


2.JAVA中如何實現多執行緒程式設計?(利用Thread和Runnable舉例說明。 答:
1.Thread類實現多執行緒
(1)建立一個Thread執行緒類的子類,同時重寫Thread類的run()方法;
(2)建立該子類的例項物件,並通過start()方法啟動執行緒。
2.Runnable介面實現多執行緒
(1)建立一個Runnable介面的實現類,同時重寫介面中的run()方法
(2)建立Runnable介面的實現類物件
(3)使用Thread有參構造方法建立執行緒例項,並將Runnable介面的實現類的例項物件作為引數傳入
(4)呼叫執行緒例項的start()方法啟動執行緒


3.JAVA中多執行緒程式設計中,如何理解執行緒的生命週期及其狀態轉換?
答:Java官方API將執行緒的整個生命週期分成6個狀態,分別是新建狀態、可執行狀態、阻塞狀態、等待狀態、定時等待狀態、終止狀態。
轉化狀態p362

4什麼是執行緒的同步?舉例說明如何實現執行緒同步?
答:
限制某個資源在同一時刻只能被一個執行緒訪問
實現執行緒同步的方法
(1)同步程式碼塊
synchronized(lock){//操作共享資原始碼塊}
(2)同步方法
被synchronized修飾的方法在某一時刻只允許一個執行緒訪問。

網路程式設計

1.關於JAVA的網路程式設計,如何實現TCP協議通訊?


2.關於JAVA的網路程式設計,如何實現UDP協議通訊?

相關文章