在牛客網做題,收錄一些題目與優秀回答。
1
2
3
4
5
6
7
8
9
10
public
class
stringdemo
}
方法區是各個執行緒共享的記憶體區域,它用於儲存已被虛擬機器載入的類資訊,常量,靜態變數,即時編譯器編譯後的**等資料。
被final修飾的變數必須要初始化,賦初值後不能再重新賦值。
被final修飾的變數必須顯示的初始化,初始化可以以三種方式:1
)定義時初始化,
2)在構造器中設定值,
3)在非靜態塊中為
final例項變數設定值。
抽象類可以有建構函式,介面不可以有建構函式
抽象類中可以有普通成員變數,介面中沒有普通成員變數,只能有常量
抽象類中的方法可以被static修飾,介面中的方法不可以被static修飾
抽象類中可以有普通方法和抽象方法,介面中的方法全是抽象方法
抽象中的方法可以被public,protected等修飾符修飾,介面中的方法全都是public abstract的方法,如果省略修飾符,則預設的也都是public abstract修飾
乙個類只能繼承乙個抽象類,介面可以被多實現,即乙個類只能繼承乙個類,可以實現多個介面
如果要建立不帶任何方法定義和成員變數的基類
,就應該選擇介面而不是抽象類;
如果知道某個類是基類,第乙個選擇的應該是讓它成為介面,只有必須要方法定義和成員變數時才可以選擇抽象類,因為抽象類允許存在乙個或多個被具體實現對的方法,只要方法沒有完全被全部實現則該類仍是抽象類。
參考:抽象類其實是可以例項化的
,但是他的例項化方式不是通過new方式來建立物件,而是
通過父類的引用來指向子類的例項來間接地實現父類的例項化
(因為子類要例項化前,一定會先例項化他的父類。這樣
建立了繼承抽象類的子類的物件,也就把其父類(抽象類)給例項化了).
但是:介面是不能被例項化的(介面壓根就沒有建構函式),與上面的原理相似同樣 介面型別的引用可以指向其子類的物件
public abstract class a
public abstract void play();
}package com.etc;
public class b extends a
public void play()
public static void main(string args)
}執行b類結果如下: 父類已經例項化
aa子類已經例項化
java面試題總結
今天被架構師問了一連串的問題,估計問了有乙個多小時吧,有很多問題都答不上來,突然發現原來自己沒有掌握的知識太多了,原來我覺得技術是用來解決問題的,而不是用來研究的,但現在覺得要更快捷的解決問題,還得好好的研究他們的原理,凡事多問個 他的原理是什麼,底層是怎麼實現的 回來好好整理了一下知識點,我想就每...
面試題總結 html面試題)
附上鏈結 doctype 的作用是什麼?宣告一般位於文件的第一行,它的作用主要是告訴瀏覽器以什麼樣的模式來解析文件。一般指定了之後會以標準模式來 進行文件解析,否則就以相容模式進行解析。在標準模式下,瀏覽器的解析規則都是按照最新的標準進行解析的。而在相容模式下,瀏 覽器會以向後相容的方式來模擬老式瀏...
多執行緒Java面試題總結
57 thread類的sleep 方法和物件的wait 方法都可以讓執行緒暫停執行,它們有什麼區別?答 sleep 方法 休眠 是執行緒類 thread 的靜態方法,呼叫此方法會讓當前執行緒暫停執行指定的時間,將執行機會 cpu 讓給其他執行緒,但是物件的鎖依然保持,因此休眠時 間結束後會自動恢復 ...