導航:首頁 > 編程語言 > java題目及答案

java題目及答案

發布時間:2023-03-29 16:29:44

❶ 急求《java語言》題目答案!!!

  1. d

  2. abcd

  3. c

  4. d

  5. ad

  6. a

  7. ad

  8. a

  9. ad

  10. cd

  11. b

❷ java的選擇題 求答案

第三個C和D?多選?
第四個y%x不是大於正廳鋒3的話,這題還真有水平了。
第七個有點小暈,概念舉晌不清了,要伏塌好好看看。
1.c
2.b
3.c,d
4.a
5.b
6.b
7.a
8.b
9.a

❸ 求一些JAVA數據結構的試題及答案解析

1 下列數據結構中,能用二分法進行查找的是__A____。
A、順序存儲的有序線性表 B、線性鏈表 C、二叉鏈表 D、有序線性鏈表 解析:二分法查找只適用於順序存儲的有序表。在此所說的有序表是指線性表中的元素按值非遞減排列(即從小到大,但允許相鄰元素值相等)。 2 在軟體設計中,不屬於過程設計工具的是__D____。 A、PDL(過程設計語言) B、PAD圖 C、N-S圖 D、DFD圖 解析:軟體設計工具包括:程序流程圖、N-S、PAD、HIPO,判定表,PDL(偽碼)。而DFD(數據流圖)屬於結構化分析工具。
3 在switch(expression)語句中,expression的數據類型不能是__A____。 A、double B、char C、byte D、short
解析:表達式expression只能返回這個幾種類型的值:int、byte、short和char。多分支語句把表達式返回的值依次與每個case子句中的值相比較,如果遇到匹配的值,則執行該case子句後的語句序列。
4 下列敘述中,錯誤的是__D____。
A、父類不能替代子類 B、子類能夠替代父類 C、子類繼承父類 D、父類包含子類 5 通過繼承實現代碼復用:
Java中所有的類都是通過直接或間接地繼承java.lang.Object類得到的。繼承而得到的類稱為子類,被繼承的類稱為父類。子類不能繼承父類中訪問許可權為private的成員變數和方法,子類可以重寫父類的方法,及命名與父類同名的成員變數。 子類通過隱藏父類的成員變數和重寫父類的方法,把父類的狀態和行為改變為自身的狀態和行為。注意:子類中重寫的方法和父類中被重寫的方法要具有相同的名字,相同的參數表和相同的返回類型,只是函數體不同。
由於子類繼承了父類所有的屬性(私有的除外),所以子類對象可以作為父類對象使用。程序中凡是使用父類對象的地方,都可以用子類對象來代替。一個對象可以通過引用子類的實例來調用子類的方法。
java運行時系統根據調用該方法的實例,來決定調用哪個方法。對子類的一個實例,如果子類重寫了父類的方法,則運行時系統調用子類的方法;如果子類繼承了父類的方法(未重寫),則運行時系統調用父類的方法。
6 自定義表格類中的model部分應實現的介面是___A___。
A、AbstractTableModel B、JTable C、TableModel D、TableModelable 7 下列代碼中,將引起編譯錯誤的行是__B____。 1)public class Exercise{
2) public static void main(String args[]){ 3) float f=0.0; 4) f+=1.0; 5) } 6) }
A、第2行 B、第3行 C、第4行 D、第6行
解析:float定義變數賦值時,需要在數值後面加f以標識它為浮點型,讓系統知道該給它精確到多少位。

❹ Java編程常見面試題目,要求正確答案

第一,談談final, finally, finalize的區別。

final?修飾符(關鍵字)如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為 abstract的,又被聲明為final的。將變數或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變數必須在聲明時給定初值,而在以後的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載finally?再異常處理時提供 finally 塊來執行任何清除操作。如果拋出一個異常,那麼相匹配的 catch 子句就會執行,然後控制就會進入 finally 塊(如果有的話)。

finalize?方法名。Java 技術允許使用 finalize() 方法在垃圾收集器將對象從內存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調用的。它是在 Object 類中定義的,因此所有的類都繼承了它。子類覆蓋 finalize() 方法以整理系統資源或者執行其他清理工作。finalize() 方法是在垃圾收集器刪除對象之前對這個對象調用的。

第二,Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類,是否可以implements(實現)interface(介面)?

匿名的內部類是沒有名字的內部類。不能extends(繼承) 其它類,但一個內部類可以作為一個介面,由另一個內部類實現。

第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統)。

Nested Class (一般是C++的說法),Inner Class (一般是JAVA的說法)。Java內部類與C++嵌套類最大的不同就在於是否有指向外部的引用上。具體可見http: //www.frontfree.net/articles/services/view.ASP?id=704&page=1

註: 靜態內部類(Inner Class)意味著1創建一個static內部類的對象,不需要一個外部類對象,2不能從一個static內部類的一個對象訪問一個外部類對象

第四,&和&&的區別。

&是位運算符。&&是布爾邏輯運算符。

第五,HashMap和Hashtable的區別。

都屬於Map介面的類,實現了將惟一鍵映射到特定的值上。

HashMap 類沒有分類或者排序。它允許一個 null 鍵和多個 null 值。

Hashtable 類似於 HashMap,但是不允許 null 鍵和 null 值。它也比 HashMap 慢,因為它是同步的。

第六,Collection 和 Collections的區別。

Collections是個java.util下的類,它包含有各種有關集合操作的靜態方法。
Collection是個java.util下的介面,它是各種集合結構的父介面。

第七,什麼時候用assert。

斷言是一個包含布爾表達式的語句,在執行這個語句時假定該表達式為 true。如果表達式計算為 false,那麼系統會報告一個 AssertionError。它用於調試目的:

assert(a > 0); // throws an AssertionError if a <= 0

斷言可以有兩種形式:

assert Expression1 ;
assert Expression1 : Expression2 ;

Expression1 應該總是產生一個布爾值。
Expression2 可以是得出一個值的任意表達式。這個值用於生成顯示更多調試信息的 String 消息。
斷言在默認情況下是禁用的。要在編譯時啟用斷言,需要使用 source 1.4 標記:

Javac -source 1.4 Test.java

要在運行時啟用斷言,可使用 -enableassertions 或者 -ea 標記。
要在運行時選擇禁用斷言,可使用 -da 或者 -disableassertions 標記。
要系統類中啟用斷言,可使用 -esa 或者 -dsa 標記。還可以在包的基礎上啟用或者禁用斷言。

可以在預計正常情況下不會到達的任何位置上放置斷言。斷言可以用於驗證傳遞給私有方法的參數。不過,斷言不應該用於驗證傳遞給公有方法的參數,因為不管是否啟用了斷言,公有方法都必須檢查其參數。不過,既可以在公有方法中,也可以在非公有方法中利用斷言測試後置條件。另外,斷言不應該以任何方式改變程序的狀態。

第八,GC是什麼? 為什麼要有GC? (基礎)。

GC是垃圾收集器。Java 程序員不用擔心內存管理,因為垃圾收集器會自動進行管理。要請求垃圾收集,可以調用下面的方法之一:

System.gc()
Runtime.getRuntime().gc()

第九,String s = new String("xyz");創建了幾個String Object?

兩個對象,一個是「xyx」,一個是指向「xyx」的引用對象s。

第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;

第十一,short s1 = 1; s1 = s1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?

short s1 = 1; s1 = s1 + 1;有錯,s1是short型,s1+1是int型,不能顯式轉化為short型。可修改為s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正確。

第十二,sleep() 和 wait() 有什麼區別? 搞線程的最愛

sleep()方法是使線程停止一段時間的方法。在sleep 時間間隔期滿後,線程不一定立即恢復執行。這是因為在那個時刻,其它線程可能正在運行而且沒有被調度為放棄執行,除非(a)「醒來」的線程具有更高的優先順序,(b)正在運行的線程因為其它原因而阻塞。

wait()是線程交互時,如果線程對一個同步對象x 發出一個wait()調用,該線程會暫停執行,被調對象進入等待狀態,直到被喚醒或等待時間到。

第十三,Java有沒有goto?

Goto?java中的保留字,現在沒有在java中使用。

第十四,數組有沒有length()這個方法? String有沒有length()這個方法?

數組沒有length()這個方法,有length的屬性。
String有有length()這個方法。

第十五,Overload和Override的區別。Overloaded的方法是否可以改變返回值的類型?

方法的重寫Overriding和重載Overloading是Java多態性的不同表現。重寫Overriding是父類與子類之間多態性的一種表現,重載Overloading是一個類中多態性的一種表現。如果在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被重寫 (Overriding)。子類的對象使用這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被「屏蔽」了。如果在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同的參數類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。

第十六,Set里的元素是不能重復的,那麼用什麼方法來區分重復與否呢? 是用==還是equals()? 它們有何區別?

Set里的元素是不能重復的,那麼用iterator()方法來區分重復與否。equals()是判讀兩個Set是否相等。

equals()和==方法決定引用值是否指向同一對象equals()在類中被覆蓋,為的是當兩個分離的對象的內容和類型相配的話,返回真值。

第十七,給我一個你最常見到的runtime exception。

ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, , DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,
ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

第十八,error和exception有什麼區別?

error 表示恢復不是不可能但很困難的情況下的一種嚴重問題。比如說內存溢出。不可能指望程序能處理這樣的情況。

exception 表示一種設計或實現問題。也就是說,它表示如果程序運行正常,從不會發生的情況。

第十九,List, Set, Map是否繼承自Collection介面?

List,Set是

Map不是。

第二十,abstract class和interface有什麼區別?

聲明方法的存在而不去實現它的類被叫做抽象類(abstract class),它用於要創建一個體現某些基本行為的類,並為該類聲明方法,但不能在該類中實現該類的情況。不能創建abstract 類的實例。然而可以創建一個變數,其類型是一個抽象類,並讓它指向具體子類的一個實例。不能有抽象構造函數或抽象靜態方法。Abstract 類的子類為它們父類中的所有抽象方法提供實現,否則它們也是抽象類為。取而代之,在子類中實現該方法。知道其行為的其它類可以在類中實現這些方法。

介面(interface)是抽象類的變體。在介面中,所有方法都是抽象的。多繼承性可通過實現這樣的介面而獲得。介面中的所有方法都是抽象的,沒有一個有程序體。介面只可以定義static final成員變數。介面的實現與子類相似,除了該實現類不能從介面定義中繼承行為。當類實現特殊介面時,它定義(即將程序體給予)所有這種介面的方法。然後,它可以在實現了該介面的類的任何對象上調用介面的方法。由於有抽象類,它允許使用介面名作為引用變數的類型。通常的動態聯編將生效。引用可以轉換到介面類型或從介面類型轉換,instanceof 運算符可以用來決定某對象的類是否實現了介面。

第二十一,abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?

都不能

第二十二,介面是否可繼承介面? 抽象類是否可實現(implements)介面? 抽象類是否可繼承實體類(concrete class)?

介面可以繼承介面。抽象類可以實現(implements)介面,抽象類是否可繼承實體類,但前提是實體類必須有明確的構造函數。

第二十三,啟動一個線程是用run()還是start()?

啟動一個線程是調用start()方法,使線程所代表的虛擬處理機處於可運行狀態,這意味著它可以由JVM調度並執行。這並不意味著線程就會立即運行。run()方法可以產生必須退出的標志來停止一個線程。

第二十四,構造器Constructor是否可被override?

構造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。

第二十五,是否可以繼承String類?

String類是final類故不可以繼承。

第二十六,當一個線程進入一個對象的一個synchronized方法後,其它線程是否可進入此對象的其它方法?

不能,一個對象的一個synchronized方法只能由一個線程訪問。

第二十七,try {}里有一個return語句,那麼緊跟在這個try後的finally {}里的code會不會被執行,什麼時候被執行,在return前還是後?

會執行,在return前執行。

第二十八,編程題: 用最有效率的方法算出2乘以8等於幾?

有C背景的程序員特別喜歡問這種問題。

2 << 3

第二十九,兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?

不對,有相同的hash code。

第三十,當一個對象被當作參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後的結果,那麼這里到底是值傳遞還是引用傳遞?

是值傳遞。Java 編程語言只由值傳遞參數。當一個對象實例作為一個參數被傳遞到方法中時,參數的值就是對該對象的引用。對象的內容可以在被調用的方法中改變,但對象的引用是永遠不會改變的。

第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

switch(expr1)中,expr1是一個整數表達式。因此傳遞給 switch 和 case 語句的參數應該是 int、 short、 char 或者 byte。long,string 都不能作用於swtich。

第三十二,編程題: 寫一個Singleton出來。

Singleton模式主要作用是保證在Java應用程序中,一個類Class只有一個實例存在。

一般Singleton模式通常有幾種種形式:

第一種形式: 定義一個類,它的構造函數為private的,它有一個static的private的該類變數,在類初始化時實例話,通過一個public的getInstance方法獲取對它的引用,繼而調用其中的方法。

public class Singleton {
private Singleton(){}
//在自己內部定義自己一個實例,是不是很奇怪?
//注意這是private 只供內部調用
private static Singleton instance = new Singleton();
//這里提供了一個供外部訪問本class的靜態方法,可以直接訪問
public static Singleton getInstance() {
return instance;
}
}

第二種形式:

public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
//這個方法比上面有所改進,不用每次都進行生成對象,只是第一次
//使用時生成實例,提高了效率!
if (instance==null)
instance=new Singleton();
return instance; }
}

其他形式:

定義一個類,它的構造函數為private的,所有方法為static的。

一般認為第一種形式要更加安全些

第三十三 Hashtable和HashMap

Hashtable繼承自Dictionary類,而HashMap是Java1.2引進的Map interface的一個實現

HashMap允許將null作為一個entry的key或者value,而Hashtable不允許

還有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因為contains方法容易讓人引起誤解。

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多個線程訪問Hashtable時,不需要自己為它的方法實現同步,而HashMap就必須為之提供外同步。

Hashtable和HashMap採用的hash/rehash演算法都大概一樣,所以性能不會有很大的差異。

❺ java練習題需要答案

1、d 面向對象的三大特徵是 封段碰裝、繼承、多態
2、d 不能以數字開頭 只能一下劃線,$,譽燃如字母 作為開頭
3、a 不做慶啟解釋
4、b
5、c 子類只能有一個父類,父類可以有多個子類,子類可以實現多個介面
6、b 因為case2沒加break;

❻ 一些Java題 求高手解答

答案如下:1-5 C C D C D
6-10 A B C A A
11-15 C B B D 無
16-19 C D A B

1、 Unicode是一種____c_________
A) 數據類型 B)java包 C)字元編碼 D)java類
2、 下面的邏輯表達式中合法的是__c________
A)(7+8)&&(9-5) B)(9*5)||(9*7) C)9>6&&8<10 D)(9%4)&&(8*3)
3、 假設int a=3,b=2,c=1,以下語句正確的是____d_______。
A) c=c/float(a//b) b) c=c/((float a)/b)
c) c=(float)c/(a/b) d) c= c/(int)(a/(float)b)
4、 2|3&5的值是_____c___________。
A)1 B)2 C)3 D)5
5、指出下列正確的語句: d
A) byte i = 389;
B) long lv = i*3+4.5;
C) int x = 87L;
D) long l = 10;
6、指出下列類型轉換中正確的是________a______。
A)int i=』A』 B)long L=8.4f C)int i=(boolean)8.9 D)int i=8.3
7、以下的選項中能正確表示Java語言中的一個整型常量的是(b )。
A) 12. B) -20 C) 1,000 D) 4 5 6
8、若所用變數都已正確定義,以下選項中,非法的表達式是(c )。
A) a != 4||b==1 B) 'a' % 3
C) 'a' = 1/2 D) 'A' + 32
9、對於一個三位的正整數 n,取出它者槐辯的十位數字k(k為整型)的表達式是(a )。
A) k = n / 10 % 10 B) k = ( n - n / 100 * 100 )%10
C) k = n % 10 D) k = n / 10
10、現有一變數聲明為boolean aa;下面賦值語句中正確的是(a )。
A)aa=false; B)aa=False; C)aa="true"; D)aa=0;
11、設有定義 int i = 6 ;,明橋則執行以下語句後,i 的值為(c )。
i += i - 1;
A) 10 B) 121 C) 11 D) 100
12、下列語句序列執行後,ch1 的值是( b)。
char ch1=』A』,ch2=』W』;
if(ch1 + 2 < ch2 ) ++ch1;
A) 『A』 B) 『B』 C) 『C』 D) B
13、設有定義 float x=3.5f, y=4.6f, z=5.7f;則以下的表達式中,值為true的是(b )。

A) x > y || x > z B) x != y
C) z > ( y + x ) D) x < y & ! ( x < z )
14、設有定義 int i=123; long j=456; 下面賦首缺值不正確的語句是( d)。
A) j=i; B) j=(long)i; C) i=(int)j; D) i=j;

16、以下的變數定義語句中,合法的是(c )。
A) float $_*5= 3.4F; B) byte b1= 15678;
C) double a =10000;
D) int _abc_ = 3721L;
17、以下字元常量中不合法的是(d )。
A) '|' B) '\' C) "\n" D) '我'
18、若以下變數均已正確定義並賦值,下面符合Java語言語法的語句是(a )。
A) b = a!=7 ; B) a = 7 + b + c=9;
C) i=12.3* % 4; D) a = a + 7 = c + b;
19、執行下列程序段後,b, x, y的值分別是( b)。
int x=6,y=8;
boolean b;
b=x>y&&++x==--y;
A) true , 6, 8 B) false , 7, 7
C) true, 7, 7 D) false, 6, 8

才子_輝祝您愉快

❼ 求Java題答案

1.C 解:java中創建對象時要分兩步一要聲明,二要用NEW分配內存空間。
2.C 解:在用k=k+1時k沒有初始話。
3.D 解:friendly修飾的類變數能被本類和同一個包神搜中類訪問。
4.A 解:靜態方法不能引用非靜態方法。
5.A 解:引用該方法時要有參數,並是要有返戚瞎裂回類型的。
6.A 解:我把你查書的,瀏覽器首先調用INIT()方法進行一些必要的初始話工作。
7.A 解:先應引用包再是把下面的程序放到Mypackage包中。
8.B 解:java的默認布局是FlowLayout 這么什麼解釋的是書上的。
9.C 解:類MineBase是抽象類要繼承它必須要重寫它的抽象方法,或把Mine 改成抽象類。
10.C 解:這是select語法看看書高閉就知道了。
附:如果有什麼錯誤請多原諒,祝你學好java 回答完畢 拜拜 謝謝

❽ 幾道JAVA題目,求好心人給下答案,感激不盡

1、public static void main(String[] args)

2、public finall static

3、3

4、抽象類

5、implements

6、類:一個包含屬性、方法,使用class關鍵字定義

對象:創建對象必須使用new關鍵字,對象其實在內存中存儲的是類的引用地址。

7、try是可能發生異常的內容;

catch是發生異常後要處理的代碼;

finally是始終執行的,比如關閉資源等。

8、

publicclassDemo{
//小明今年12歲,他母親比他大20歲。編程計算多少年後他母親的年齡是小明的2倍。
publicstaticvoidmain(String[]args){
System.out.println(getYeah());
}
publicstaticintgetYeah(){
intxmAge=12,mqAge=20,yeah=0;
while(true){
if(mqAge/2==xmAge){
returnyeah;
}
mqAge++;
yeah++;
}
}
}

9、

publicclassDemo{

publicstaticvoidmain(String[]args){
newThread(newPiao()).start();
newThread(newPiao()).start();
newThread(newPiao()).start();
newThread(newPiao()).start();
}
}
classPiaoimplementsRunnable{
privatestaticintpiao=1;
publicvoidrun(){
while(true){
synchronized(Piao.class){
if(piao>100){
System.exit(0);
}
System.out.println(Thread.currentThread().getName()+"出票:"+piao+"號");
piao++;
}
}
}
}

❾ 關於Java求下面正確答案!

第9題:C
第10題:C
第11題:B
第12題:配亂D
第13題:D
第14題悄陪:B
第15題:C
第16題:C
第17題:啟賣蠢C
第18題:B
第19題:D
第20題:C

❿ java基礎面試題有哪些

下面是10道java基礎面試題,後附答案

1.什麼是 Java 虛擬機?為什麼 Java 被稱作是「平台無關的編程語言」?

Java 虛擬機是一個可以執行 Java 位元組碼的虛擬機進程。Java 源文件被編譯成能被 Java 虛擬機執行的位元組碼文件。

Java 被設計成允許應用程序可以運行在任意的平台,而不需要程序員為每一個平台單獨重寫或者是重新編譯。Java 虛擬機讓這個變為可能,因為它知道底層硬體平台的指令長度和其他特性。

2.「static」關鍵字是什麼意思?Java 中是否可以覆蓋(override)一個 private 或者是static 的方法?

「static」關鍵字表明一個成員變數或者是成員方法可以在沒有所屬的類的實例變數的情況下被訪問。

Java 中 static 方法不能被覆蓋,因為方法覆蓋是基於運行時動態綁定的,而 static 方法是編譯時靜態綁定的。static 方法跟類的任何實例都不相關,所以概念上不適用。

3.JDK 和 JRE 的區別是什麼?

Java 運行時環境(JRE)是將要執行 Java 程序的 Java 虛擬機。它同時也包含了執行 applet 需要的瀏覽器插件。Java 開發工具包 (JDK)是完整的 Java 軟體開發包,包含了 JRE,編譯器和其他的工具(比如:JavaDoc,Java 調試器),可以讓開發者開發、編譯、執行 Java 應用程序。

4.是否可以在 static 環境中訪問非 static 變數?

static 變數在 Java 中是屬於類的,它在所有的實例中的值是一樣的。當類被 Java 虛擬機載入的時候,會對 static 變數進行初始化。如果你的代碼嘗試不用實例來訪問非 static 的變數,編譯器會報錯,因為這些變數還沒有被創建出來,還沒有跟任何實例關聯上。

5.Java 支持的數據類型有哪些?什麼是自動拆裝箱?

Java 語言支持的 8 中基本數據類型是:

byte

short

int

long

float

double

boolean

char

自動裝箱是 Java 編譯器在基本數據類型和對應的對象包裝類型之間做的一個轉化。比如:把 int 轉化成 Integer,double 轉化成 double,等等。反之就是自動拆箱。

6.Java 支持多繼承么?

不支持,Java 不支持多繼承。每個類都只能繼承一個類,但是可以實現多個介面。

7.Java 中,什麼是構造函數?什麼是構造函數重載?什麼是復制構造函數?

當新對象被創建的時候,構造函數會被調用。每一個類都有構造函數。在程序員沒有給類提供構造函數的情況下,Java 編譯器會為這個類創建一個默認的構造函數。

Java 中構造函數重載和方法重載很相似。可以為一個類創建多個構造函數。每一個構造函數必須有它自己唯一的參數列表。

Java 不支持像 C++中那樣的復制構造函數,這個不同點是因為如果你不自己寫構造函數的情況下,Java 不會創建默認的復制構造函數。

8.Java 中的方法覆蓋(Overriding)和方法重載(Overloading)是什麼意思?

Java 中的方法重載發生在同一個類裡面兩個或者是多個方法的方法名相同但是參數不同的情況。與此相對,方法覆蓋是說子類重新定義了父類的方法。方法覆蓋必須有相同的方法名,參數列表和返回類型。覆蓋者可能不會限制它所覆蓋的方法的訪問。

9.介面和抽象類的區別是什麼?

Java 提供和支持創建抽象類和介面。它們的實現有共同點,不同點在於:

介面中所有的方法隱含的都是抽象的。而抽象類則可以同時包含抽象和非抽象的方法。

類可以實現很多個介面,但是只能繼承一個抽象類

類如果要實現一個介面,它必須要實現介面聲明的所有方法。但是,類可以不實現抽象類聲明的所有方法,當然,在這種情況下,類也必須得聲明成是抽象的。

抽象類可以在不提供介面方法實現的情況下實現介面。

Java 介面中聲明的變數默認都是 final 的。抽象類可以包含非 final 的變數。

Java 介面中的成員函數默認是 public 的。抽象類的成員函數可以是 private, protected 或者是 public。

介面是絕對抽象的,不可以被實例化。抽象類也不可以被實例化,但是,如果它包含 main 方法的話是可以被調用的。

10.什麼是值傳遞和引用傳遞?

對象被值傳遞,意味著傳遞了對象的一個副本。因此,就算是改變了對象副本,也不會影響源對象的值。

對象被引用傳遞,意味著傳遞的並不是實際的對象,而是對象的引用。因此,外部對引用對象所做的改變會反映到所有的對象上。

最後祝你面試順利!

閱讀全文

與java題目及答案相關的資料

熱點內容
爬山演算法相關題目 瀏覽:720
vc編程大全 瀏覽:114
excel表格單列數據加密 瀏覽:646
給同事的解壓話語 瀏覽:990
linux關閉網卡命令行 瀏覽:452
史上最漂亮程序員 瀏覽:768
java實現excel的導入 瀏覽:758
光遇賬號如何轉移安卓 瀏覽:266
5分之13除以26的演算法 瀏覽:342
蘭州安寧區買解壓包子 瀏覽:641
php接收圖片代碼 瀏覽:668
hci命令 瀏覽:662
福建伺服器大區雲空間 瀏覽:840
筆桿子程序員 瀏覽:745
手機軟體易驗證加密 瀏覽:589
文檔加密只讀模式也不能看到 瀏覽:431
把jpg轉換成pdf的軟體 瀏覽:874
linuxeth0mac 瀏覽:192
windows編程知乎 瀏覽:442
壓縮工期超過40 瀏覽:249