繼承在Java和C++中很相似.Java使用extends關鍵字代替了C++中的":"符號.Java中的任何繼承都是公有繼承;而沒有和C++中的私有和受保護繼承相似的概念.
有人認為super和this引用類似.這種類比是不準確的:super不是一個對對象的引用(比如你不能把值super賦給另一個對象變量),而是指示編譯器調用超類方法的專用關鍵字.
Java中使用關鍵字super調用超類中方法.在C++中,相應的調用規則是在超類名字后加上"::"運算符.
this關鍵字有兩個意思:一是表示對隱式參數的引用;一是調用同一類的其他構造器.同樣super關鍵字也有兩個意思:一是調用超類方法;一是調用超類構造器.當被用來調用構造器時,這兩個關鍵字十分類似.在一個構造器中,對其他構造器的調用只能出現在第一行語句中.構造器參數既可以傳遞給同一個類的其他構造器(使用this),也可以傳遞給超類的構造器(使用super).
如果之類構造器沒有顯示調用超類構造器,那么超類會使用默認(無參數)構造器.如果超類沒有默認構造器,而且之類構造器又沒有調用其他超類構造器,那么Java編譯器會報告錯誤.