java面试题3(java基础)
1.抽象類必須要有抽象方法嗎?
?
答案是抽象類可以沒有抽象方法,雖然沒有抽象方法,但是如果你聲明了是抽象類,那么它還是不能被實例化。反過來,如果一個類中有了一個抽象方法,那么這個類必須聲明為抽象類,否則編譯通不過。
?
2.普通類和抽象類有哪些區別?
1、普通類可以去實例化調用;抽象類不能被實例化,因為它是存在于一種概念而不非具體。
2、普通類和抽象類都可以被繼承,但是抽象類被繼承后子類必須重寫繼承的方法,除非子類也是抽象類。
3.抽象類能使用final修飾嗎?
不能,抽象類本身就是用來繼承,而達到實現抽象方法的目的。被final修飾的類恰恰不能被繼承。二者剛好相斥。
?
4.接口和抽象類有什么區別?
a. 抽象類可以有構造方法,接口中不能有構造方法。
b. 抽象類中可以有普通成員變量,接口中沒有普通成員變量。
c. 抽象類中可以包含非抽象普通方法,接口中的所有方法必須都是抽象的,不能有非抽象的方法。
d. 抽象類中的抽象方法的訪問權限可以是 public、protected 和(默認類型,雖然 eclipse 不報錯,但也不能用,默認類型子類不能繼承),接口中的抽象方法只能是 public 類型的,并且默認即為 public abstract 類型。
e. 抽象類中可以包含靜態方法,在 JDK1.8 之前接口中不能不包含靜態方法,JDK1.8 以后可以包含。
f. 抽象類和接口中都可以包含靜態成員變量,抽象類中的靜態成員變量的訪問權限可以是任意的,但接口中定義的變量只能是 public static final 類型的,并且默認即為 public static final 類型。
g. 一個類可以實現多個接口,用逗號隔開,但只能繼承一個抽象類,接口不可以實現接口,但可以繼承接口,并且可以繼承多個接口,用逗號隔開。
5.java中IO流分為幾種?
總結
以上是生活随笔為你收集整理的java面试题3(java基础)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java面试题2(java基础)
- 下一篇: java面试题4(基础)