叨叨兩句
- 學着修改本身的內置程序,將不良輸入得出的輸出調整爲本身喜歡的。
- 編程的本質就是數據的變換。
題40
Java接口的修飾符能夠爲(D)
A private B protected C final D abstract
接口內的方法默認修飾符爲:public abstract
接口內的屬性默認修飾符爲: public static final
題41
ArrayList list = new ArrayList(20);中的list擴充幾回(A)
A 0 B 1 C 2 D 3
默認初始容量爲10,每次擴充至原來的1.5倍
該題已經設置初始容量爲20
題42
getCustomerInfo()方法以下,try中能夠捕獲三種類型的異常,若是在該方法運行中產生了一個IOException,將會輸出什麼結果(A)
public void getCustomerInfo() {
try {
// do something that may cause an Exception
} catch (java.io.FileNotFoundException ex) {
System.out.print("FileNotFoundException!");
} catch (java.io.IOException ex) {
System.out.print("IOException!");
} catch (java.lang.Exception ex) {
System.out.print("Exception!");
}
}
A IOException!
B IOException!Exception!
C FileNotFoundException!IOException!
D FileNotFoundException!IOException!Exception!
題43
下面代碼的運行結果爲:(C)
import java.io.*;
import java.util.*;
public class foo{
public static void main (String[] args){
String s;
System.out.println("s=" + s);
}
}
A 代碼獲得編譯,並輸出「s=」
B 代碼獲得編譯,並輸出「s=null」
C 因爲String s沒有初始化,代碼不能編譯經過
D 代碼獲得編譯,但捕獲到 NullPointException異常
局部變量使用前必需要初始化
題44
指出下列程序運行的結果 (B)
public class Example {
String str = new String("good");
char[] ch = { 'a', 'b', 'c' };
public static void main(String args[]) {
Example ex = new Example();
ex.change(ex.str, ex.ch);
System.out.print(ex.str + " and ");
System.out.print(ex.ch);
}
public void change(String str, char ch[]) {
str = "test ok";
ch[0] = 'g';
}
}
A、 good and abc
B、 good and gbc
C、 test ok and abc
D、 test ok and gbc
1. Java中都是值傳遞,傳參時,傳的是值的副本,參數也至關於方法的局部變量
2. 這道題所描述的傳入引用數據類型和傳入基本數據類型的區別在於,有沒有改變其內部的元素
題45
下面的方法,當輸入爲2的時候返回值是多少?(C)
複製代碼
public static int getValue(int i) {
int result = 0;
switch (i) {
case 1:
result = result + i;
case 2:
result = result + i * 2;
case 3:
result = result + i * 3;
}
return result;
}
複製代碼
A0 B2 C4 D10
本題考查穿透現象
題46
選項中哪一行代碼能夠替換題目中//add code here而不產生編譯錯誤?(A)
複製代碼
public abstract class MyClass {
public int constInt = 5;
//add code here
public void method() {
}
}
複製代碼
Apublic abstract void method(int a);
B constInt = constInt + 5;
C public int method();
D public abstract void anotherMethod() {}
1. 抽象方法不能有方法體
2. 接口中會自動補齊默認的修飾符
題47
下面是People和Child類的定義和構造方法,每一個構造方法都輸出編號。在執行new Child("mike")的時候都有哪些構造方法被順序調用?請選擇輸出結果 ( D)
複製代碼
class People {
String name;
public People() {
System.out.print(1);
}
public People(String name) {
System.out.print(2);
this.name = name;
}
}
class Child extends People {
People father;
public Child(String name) {
System.out.print(3);
this.name = name;
father = new People(name + ":F");
}
public Child() {
System.out.print(4);
}
}
複製代碼
A312 B 32 C 432 D 132
super()調用的是空參的父類構造方法,想要調用有參構造方法,須要往括號裏傳參數
題48
23.對於如下關於可變長參數的定義,正確的是:(ACD )
A: public void show( String[] aa, String... a ){}
B: public void show( String... a , String[] aa){}
C: public void show( String... a ){}
D: public void show( String a, double b , String... c){}
可變參數要放參數列表的最後一個
題49
編譯運行以下Java代碼,輸出結果是( D )
class Base {
public void method(){
System.out.print ("Base method");
}
}
class Child extends Base{
public void methodB(){
System.out.print ("Child methodB");
}
}
class Sample {
public static void main(String[] args) {
Base base = new Child();
base.methodB();
}
}
A. Base method
B. Child methodB
C. Base method Child MethodB
D. 編譯錯誤
1. 對於非靜態方法,編譯看左邊,運行看右邊,父類中沒有methodB方法,因此編譯期就沒法經過。
2. 若子父類都有一樣的方法,則運行時會運行子類重寫過的方法