轉載自
思念的空間
答案僅共參考。
1. 比較
a) 1L < <35;
b) 1 < <35;
c) 1 < <4
的大小?
答:a最大。b最小。c中間大。理由:1L < <35等同于1L < <(35%64);1 < <35等同于1 < <(35%32)即1 < <3
2. Class Student{
private String name;
public Boolean nameDuplicate(Student student){
if(this.name == student.name){
return true;
}else return false;
}
}
問nameDuplicate方法中能否直接調用student的name私有字段?
答:當然可以。理由:private是在類的層次而不是對象的層次進行保護的。
(對于私有成員變量和方法,只有在本類中創建該類的對象時,這個對象才能訪問自己的私有成員變量和類中的私有方法)
3. short 類型需要幾個字節?
答:2個。理由:JAVA中就這么規定的。
4. 雙精度指的是什么?精度有多少?
答:double類型,保證15位有效數字的精度。
5. 三個特殊的浮點數是什么?
答:正無窮Double.POSITIVE_INFINITY,負無窮Double.NEGATIVE_INFINITY ,保持 double 類型的非數字值Double.NaN
6. 如何判斷一個變量是數字?
答:若是判斷一個字符串變量vs是不是整數值:可用:
try{
int v = Integer.parseInt(vs);
}
catch(NumberFormatException e){
System.out.println("不是數值。");
}
說明:或者使用“正則表達式”亦可。
7. goto功能如何實現?
答:使用帶標號的break語句。如:break label 實現goto的功能。
理由:JAVA中已取消了goto語句(但保留了goto這個保留字。)goto語句存在的價值是從嵌套較深的循環中一下子跳出來。
(標號必須寫在一個循環的前面(如label) 。這個label是修飾這個循環的。 那么break label, 和continue label。是說相對于那個被修飾的循環的break 和continue。)
8. 一個源文件中public類數量是否有限制?
答:當然有。只能有一個。
理由:JAVA源程序取名時,擴展名是 .java,但文件名必須與public類的類名相同。故最多只能定義一個(最少0個。)。
若沒有public類則文件名可從源程序中的類名隨便取一個來用。
9. 是否存在私有類?
答:如:對內部類的定義。
10. 有沒有一種情況可以訪問另一個類的私有字段?
答:當然可以。典型情況:非static型內部類就可以訪問外部類的一切成員。(含:private型)這也是內部類存在的價值之一。
11. 是否可以定義與構造器同名的方法?
答:當然可以。
12. Java的參數傳遞是哪種?傳值,傳地址,基本數據類型傳值、對象傳地址?
答:值傳遞機制
a) 通過Java參數傳遞,是否可以改變基本數據類型的值?
答:不能。 理由:值傳遞機制
b) 是否可以改變對象的狀態?
答:可以。 理由:對象的狀態是由其數據成員表達的。而數據成員的值是可以用方法來修改的。
c) 是否可以創建對象?
答:可以。
13. 只寫一個類不寫main方法,能否像控制臺輸出“Hello World”。
答:當然可以。理由:用類的初始化塊 static{ System.out.println("Hello World");}
14. Java程序對final實例字段有何要求?
答: 一定要初始化。最好在定義的同時就進行初始化。
15. 如何利用Java反射機制創建一個“實例化時需要參數的”對象?
答:若一個類MyClass定義了一個帶有int類型參數的構造器:
public MyClass(int i)
{...}
則用反射機制創建一個“實例化時需要參數的”對象如下:
Class cls = Class.forName("MyClass");
Constructor cl= cls.getConstructor(int.class);
MyClass t12=(MyClass)cl.newInstance(20);
16. protected的實例字段的可見范圍?
答:子類或同一個包。
17. 深度克隆和淺克隆的區別?
答:淺克隆只復制對象自身的二進制位圖。源對象與克隆產生的對象都引用相同的其它資源。
深度克隆不僅是復制對象自身,而且源對象所引用的其它對象(或資源)都要遞歸地進行克隆復制。
18. 何謂方法的隱式參數和顯示參數?
答:this是隱含傳遞給對象的方法的(類方法是不隱含傳遞的)。顯式參數:程序員自己明確定義的方法參數。
19. Date類跟GoreignCalendar類的關鍵區別?String和StringBuffer?
答:1)Date類跟GoreignCalendar類的關鍵區別是:國際化。Date類不易國際化。而GregorianCalendar 是
Calendar 的一個具體子類,提供了世界上大多數國家使用的標準日歷系統。
2)String和StringBuffer:String是一個字符串常量。可能產生修改串的操作都會生成一個新的String對象。
而:StringBuffer是可以進行插入、刪除、修改等操作,都是在自身上進行的。不產生新的StringBuffer對象。
20. 如何編寫判斷兩個對象的方法?
答:obj1.equals(obj2)
答案僅共參考。
1. 比較
a) 1L < <35;
b) 1 < <35;
c) 1 < <4
的大小?
答:a最大。b最小。c中間大。理由:1L < <35等同于1L < <(35%64);1 < <35等同于1 < <(35%32)即1 < <3
2. Class Student{
private String name;
public Boolean nameDuplicate(Student student){
if(this.name == student.name){
return true;
}else return false;
}
}
問nameDuplicate方法中能否直接調用student的name私有字段?
答:當然可以。理由:private是在類的層次而不是對象的層次進行保護的。
(對于私有成員變量和方法,只有在本類中創建該類的對象時,這個對象才能訪問自己的私有成員變量和類中的私有方法)
3. short 類型需要幾個字節?
答:2個。理由:JAVA中就這么規定的。
4. 雙精度指的是什么?精度有多少?
答:double類型,保證15位有效數字的精度。
5. 三個特殊的浮點數是什么?
答:正無窮Double.POSITIVE_INFINITY,負無窮Double.NEGATIVE_INFINITY ,保持 double 類型的非數字值Double.NaN
6. 如何判斷一個變量是數字?
答:若是判斷一個字符串變量vs是不是整數值:可用:
try{
int v = Integer.parseInt(vs);
}
catch(NumberFormatException e){
System.out.println("不是數值。");
}
說明:或者使用“正則表達式”亦可。
7. goto功能如何實現?
答:使用帶標號的break語句。如:break label 實現goto的功能。
理由:JAVA中已取消了goto語句(但保留了goto這個保留字。)goto語句存在的價值是從嵌套較深的循環中一下子跳出來。
(標號必須寫在一個循環的前面(如label) 。這個label是修飾這個循環的。 那么break label, 和continue label。是說相對于那個被修飾的循環的break 和continue。)
8. 一個源文件中public類數量是否有限制?
答:當然有。只能有一個。
理由:JAVA源程序取名時,擴展名是 .java,但文件名必須與public類的類名相同。故最多只能定義一個(最少0個。)。
若沒有public類則文件名可從源程序中的類名隨便取一個來用。
9. 是否存在私有類?
答:如:對內部類的定義。
10. 有沒有一種情況可以訪問另一個類的私有字段?
答:當然可以。典型情況:非static型內部類就可以訪問外部類的一切成員。(含:private型)這也是內部類存在的價值之一。
11. 是否可以定義與構造器同名的方法?
答:當然可以。
12. Java的參數傳遞是哪種?傳值,傳地址,基本數據類型傳值、對象傳地址?
答:值傳遞機制
a) 通過Java參數傳遞,是否可以改變基本數據類型的值?
答:不能。 理由:值傳遞機制
b) 是否可以改變對象的狀態?
答:可以。 理由:對象的狀態是由其數據成員表達的。而數據成員的值是可以用方法來修改的。
c) 是否可以創建對象?
答:可以。
13. 只寫一個類不寫main方法,能否像控制臺輸出“Hello World”。
答:當然可以。理由:用類的初始化塊 static{ System.out.println("Hello World");}
14. Java程序對final實例字段有何要求?
答: 一定要初始化。最好在定義的同時就進行初始化。
15. 如何利用Java反射機制創建一個“實例化時需要參數的”對象?
答:若一個類MyClass定義了一個帶有int類型參數的構造器:
public MyClass(int i)
{...}
則用反射機制創建一個“實例化時需要參數的”對象如下:
Class cls = Class.forName("MyClass");
Constructor cl= cls.getConstructor(int.class);
MyClass t12=(MyClass)cl.newInstance(20);
16. protected的實例字段的可見范圍?
答:子類或同一個包。
17. 深度克隆和淺克隆的區別?
答:淺克隆只復制對象自身的二進制位圖。源對象與克隆產生的對象都引用相同的其它資源。
深度克隆不僅是復制對象自身,而且源對象所引用的其它對象(或資源)都要遞歸地進行克隆復制。
18. 何謂方法的隱式參數和顯示參數?
答:this是隱含傳遞給對象的方法的(類方法是不隱含傳遞的)。顯式參數:程序員自己明確定義的方法參數。
19. Date類跟GoreignCalendar類的關鍵區別?String和StringBuffer?
答:1)Date類跟GoreignCalendar類的關鍵區別是:國際化。Date類不易國際化。而GregorianCalendar 是
Calendar 的一個具體子類,提供了世界上大多數國家使用的標準日歷系統。
2)String和StringBuffer:String是一個字符串常量。可能產生修改串的操作都會生成一個新的String對象。
而:StringBuffer是可以進行插入、刪除、修改等操作,都是在自身上進行的。不產生新的StringBuffer對象。
20. 如何編寫判斷兩個對象的方法?
答:obj1.equals(obj2)