編譯在左運行在右
❶ 關於java的容器類 list,map等的toString()方法
List<Student> list = new ArrayList<>();
System.out.println(list.toString());
1. 列印的是list.toString(),但簡單說是「編譯看左面,運行看右面」,深入說是運行期方法的動態分派,所以執行的是ArrayList類的toString()方法。
2.ArrayList繼承AbstractList
❷ C語言可以連續賦值么如c=a=b=5說詳細哦
可以連續賦值,編譯器是從右往左賦值,c=a=b=5就按照b=5,a=b,c=a賦值main
前帶void表示main函數返回類型為空類型
在較早的編譯器下,main前面不帶void也可,編譯器會默認為void返回類型。
(2)編譯在左運行在右擴展閱讀
C語言的運算符主要用於構成表達式,同一個符號在不同的表達式中,其作用並不一致。下面按計算的優先順序,分別說明不同作用的表達式。需要特別指出,在C語言標准中,並沒有結合性的說法。
相同優先順序運算符,從左至右依次運算。注意後綴運算優先順序高於前綴。因此++i++應解釋為++(i++)。
而與或非的運算優先順序都不一樣,因此a && b || b && c解釋為(a && b) || (b && c)
合理使用優先順序可以極大簡化表達式。
❸ java中,什麼時候需要new來實例化
(1)同一個對象在不同時刻體現出來的不同狀態。
(2)多態的前提:
A:有繼承或者實現關系。
B:有方法重寫。
C:有父類或者父介面引用指向子類對象。
多態的分類:
a:具體類多態
class Fu {}
class Zi extends Fu {}
Fu f = new Zi();
b:抽象類多態
abstract class Fu {}
class Zi extends Fu {}
Fu f = new Zi();
c:介面多態
interface Fu {}
class Zi implements Fu {}
Fu f = new Zi();
(3)多態中的成員訪問特點
A:成員變數
編譯看左邊,運行看左邊
B:構造方法
子類的構造都會默認訪問父類構造
C:成員方法
編譯看左邊,運行看右邊
D:靜態方法
編譯看左邊,運行看左邊
為什麼?
因為成員方法有重寫。
(4)多態的好處:
A:提高代碼的維護性(繼承體現)
B:提高代碼的擴展性(多態體現)
(5)多態的弊端:
父不能使用子的特有功能。
現象:
子可以當作父使用,父不能當作子使用。
(6)多態中的轉型
A:向上轉型
從子到父
B:向下轉型
從父到子