在Ubuntu體系下裝置JDK和Tomcat的教程。本站提示廣大學習愛好者:(在Ubuntu體系下裝置JDK和Tomcat的教程)文章只能為提供參考,不一定能成為您想要的結果。以下是在Ubuntu體系下裝置JDK和Tomcat的教程正文
上面這段法式讓我糾結了良久,Ruby中private的概念真的很奇異。。。
class Test private def test_print puts 'test' end end class Test2 < Test def test_print2 # self.test_print #=> 這裡加上self就不克不及挪用,private method `test_print' called for # (NoMethodError) test_print #=> 不加self就可以挪用 end end Test2.new.test_print2
為何不加self的話,private也能夠挪用父類的辦法呢?
本來在Ruby中,private和Java或許其他說話紛歧樣,子類也能夠挪用,只是不克不及指定挪用者。
翻了下《The Ruby Way》,書上說:
private:類和子類都能挪用,然則private辦法不克不及指定挪用者,默許為self。
protected:類和子類都能挪用,可以指定挪用者。
這就說明了為何下面的代碼中,用self挪用會失足,而不加self就可以准確履行。