已采納回答 / 慕萊塢2250471
通過extends繼承 接口實現 然后通過 內部類 匿名類 ? 內部類可以訪問JAVA 外部類的屬性以及方法這樣可以實現C++的多重集成 ?建議讀Think in java 這個在 繼承 接口 抽象類那幾章節有講到
2015-08-01
已采納回答 / 慕少4965959
個人理解:老師說的方法內部類不能使用訪問控制符和 static 修飾符,不是內部類中的方法!你看看內部類不是直接“class MInner”嗎!
2015-07-31
已采納回答 / yao314
這是多態的特性,首先清楚多態存在的條件:有繼承關系重寫方法父類引用指向子類的對象(即:Animal obj2 = new Dog())對于以上例子,只是讓讀者了解多態的一些特性,在實際應用中,多態的好處有許多可以減少代碼重復性對于擴展代碼也有很大幫助以下摘抄多態的好處:1.可替換性(substitutability)。多態對已存在代碼具有可替換性。例如,多態對圓Circle類工作,對其他任何圓形幾何體,如圓環,也同樣工作。2.可擴充性(extensibility)。多態對代碼具有可擴充性。增加新的子類不影...
2015-07-31
已采納回答 / 末日黑龍
這條語句就是判斷這2個對象的類的類型是否一樣的。getClass()是this對象的類的類型,就是調用這個方法的對象。obj.getClass()是參數傳遞過來的對象的類的類型,就是你要比較目標的類的類型。舉個例子吧:還是Dog這個類,你重寫了equals方法。重寫的目的是當使用blackDog對象的時候,你發現還有一個叫whiteDog的對象,你想比較他倆是否相等。如果不重寫equals方法,只能他倆的地址值相同,但實際上你想比較的是名字、性別、品種什么的是否相同。那當你使用這句boolean flag...
2015-07-30
已采納回答 / 末日黑龍
第一個問題:第一個地址是調用這個方法的對象的地址;另一個地址是這個方法中參數傳遞過來對象的地址。第二個問題:我覺得是你的equals理解的不夠吧。拿手機來舉例的話。一般我們說手機是否一樣,是比較手機的型號、品牌、顏色、尺寸等等,如果一樣的話,那么這就是2個一樣的手機,對吧。比如你有個iphone5,我也有個iphone5,那咋倆的手機一樣。但是在不重寫equals方法的時候,原有方法認為2個手機一樣的條件是,只能是同一部手機。這個條件比咱們需要的條件還苛刻,所以很多時候不適用。我們重寫equals方法,第...
2015-07-30
已采納回答 / 無敵的大鵬鳥
構造方法是不返回任何值的,所以不能加任何有關返回值類型的修飾符包括void,這是語法規定。如果加了void,那么這個方法就不是構造方法了,而是普通的方法,這就是構造方法特殊的地方。
2015-07-28
已采納回答 / Raine
構造方法是在創建一個對象的時候用的,就是HelloWorld hw =?new?HelloWorld()的時候用,而內部有返回值類型的方法hw.toString();可以這樣調用,但是你就不能hw.HelloWorld();構造方法名稱與類型相同,都是大寫開頭的,其他方法都是小寫開頭,發現了嗎
2015-07-26