一、java 接口和抽象類的區別是什么
1、接口中所有方法隱含的都是抽象的,而抽象類則可以同時包含抽象和非抽象方法。
2、類可以實現多個接口,但只能實現一個抽象類。
3、類如果要實現接口,它必須要實現接口聲明中所有方法,但是類可以不實現抽象類的所有方法,當然這種情況下,類也必須聲明為抽象類。
4、抽象類可以在不提供接口方法實現的情況下實現接口。
5、java接口中聲明的變量都是final的,抽象類可以包括非final的變量。
6、java接口中成員函數默認是public的,抽象類成員函數可以private,protected,或者public。
7、接口是絕對抽象的,不可以被實例化,抽象類也不可以被實例化,但是如果他包含main方法的話可以被調用。
二、java接口可以被繼承嗎
可以被接口繼承,但不能被類繼承
三、java運算符中,那個運算符的優先級最高
小括號()和下表號[]
四、在Switch語句中能使用的數據類型包括那些。
byte,short,int,char
五、StringBuffer和StringBuilder類的區別
盡可能使用StringBuilder,因為它運行比StringBufffer快,如果強調線程安全的話使用StringBuilder。
六、關于final
1、final方法無法被覆蓋(重寫)。
2、final類無法被繼承。
3、final變量不能被修改,并且final要么在構造方法初始化,要么在定義時初始化。
七、聲明變量和定義變量有什么不同
聲明變量只提供類型和名字,并沒有進行初始化。定義包括初始話。
八、程序中可以允許多個類同時擁有main方法嗎
可以,當程序運行時,我們會指定運行的類名。JVM只會在你指定的類中查找main方法。
九、一個類可以擁有多個main方法嗎
可以,但只有一個main方法擁有以下簽名:public static void main(String[] args)。