0 可能重复: Overriding vs Hiding Java - Confused方法在Java中隐藏 能有人请解释方法hididng在Java中有一个例子,为什么我们使用方法隐藏? 我读甲骨文的教程,但无法理解。 来源 2012-07-23 Salih Erikci +7 你能不能给我们带来什么你不教程明白,你到底是怎么回事的解释以及具体的例子吗? – 2012-07-23 15:04:38 +0 什么方法隐藏做到完全和我们为什么使用它? – 2012-07-23 15:05:19 +0 **当您希望根据您的需要灵活地调用超类方法或子类方法时,必须使用方法隐藏**。 **当你的超类方法不需要执行时,覆盖**被使用。也就是说,如果你认为这一点,你的超类方法对你来说没有什么用处,而你的子类方法可以满足所有的要求,那么就去实现方法重写。 – Lion 2012-07-23 15:06:38
0 当你在超类的静态方法,如果你创建在子类相同签名的方法,超类的方法将被调用,如果你使用的是超类的引用和子类的方法被调用,如果你正在使用子类引用。 来源 2012-07-23 15:08:42 Varun +0 这是错误的 - 它不适用于静态,您不能隐藏静态方法,因为您无法继承它。 – Romain 2012-07-23 15:11:46 +1 @Romain:您可能想检查已链接的教程。它本身表示,隐藏将* only *应用于静态(他们说“类方法”,而不是非静态的“实例方法”)。可能是Java特有的,但这就是他们如何使用这个词。它与C#的'new'和VB的'Shadows'如何工作是一致的,尽管它们(不同于Java)使得实例方法默认为非虚拟的。 – cHao 2012-07-23 15:15:58
你能不能给我们带来什么你不教程明白,你到底是怎么回事的解释以及具体的例子吗? – 2012-07-23 15:04:38
什么方法隐藏做到完全和我们为什么使用它? – 2012-07-23 15:05:19
**当您希望根据您的需要灵活地调用超类方法或子类方法时,必须使用方法隐藏**。 **当你的超类方法不需要执行时,覆盖**被使用。也就是说,如果你认为这一点,你的超类方法对你来说没有什么用处,而你的子类方法可以满足所有的要求,那么就去实现方法重写。 – Lion 2012-07-23 15:06:38