天天看點

Java 基礎 面試題

1、static 修飾的屬性,相較于執行個體變量,有哪些特别之處?

随着類的加載而加載;早于對象的建立,隻要權限通過,可以通過。

對象static.屬性的方式進行調用;存在于方法區的靜态域。

2、final可以用來修飾哪些結構,分别表示什麼意思?

1、1、final 可以用來修飾的結構:類、方法、變量

2、final :用來修飾方法:表明此方法不可以被重寫

3、final:用來修飾一個類:此類不能被繼承。

如:String類、System類、、StringBuffer類、

4、final:用來修飾常量

如:final int sex s = 10;

4.2 static final 用來修飾屬性:全局常量。

3、手寫餓漢式、懶漢式的代碼。
懶漢式的代碼

public class SingletonTest2 {

public static void main(String[] args) {

Order order1 = Order.getInstance();

Order order2 = Order.getInstance();

System.out.println(order1==order2);

order1.show(10);

}

}

class Order{

private Order(){

}

private static Order instance =null;

// 傳回目前類的對象。

public static Order getInstance(){

if (instance ==null){

instance = new Order();

}

return instance;

}

public static void show (final int num){

System.out.println(num);

}

}

餓漢式的代碼

public class SingletonTest1 {

public static void main(String[] args) {

BanK banK1 = BanK.getInstance();

BanK banK2 = BanK.getInstance();

System.out.println(banK1==banK2); // true

}

}

class BanK{

// 1、私有化類的構造器

private BanK(){

}

//2、建立私有化類的對象

private static BanK instance = new BanK();

// 3、提供公共的靜态方法,傳回類的對象

public static BanK getInstance(){

return instance;

}

}

4、說明流的三種分類:

流向:輸入流、輸出流

資料機關:位元組流、字元流

流的角色:處理流、緩沖流

寫出四個IO流中的抽象基類、四個檔案流、 四個緩沖流

InputStream、 FileInputStream BUfferedinputStream

outputStream、 FileoutputStream BUfferedOutputStream

Read FileRead BufferedFileRead

Write FileWrite BufferedFileWrite

位元組流和字元流的差別:

位元組流處理非文本檔案

字元流處理文本檔案

位元組流主要是操作byte類型資料,以byte數組為準,主要操作類就是OutputStream、InputStream

字元流主要是操作char類型資料,以char數組為準,主要操作類就是FileRead、FileWrite

char[] chf = new char[5];