2016-05-17 82 views
-3

使用静态方法不会利用OOP,因此方法被重写而不是隐藏。在Java中存在隐藏静态方法。难道只有在某些没有希望的情况下才能提供帮助吗?
隐藏静态方法vs覆盖非静态方法的后果是什么?是否有任何情况下,隐藏应该优于重写(直到使方法变为静态,这通常是由其他优点决定的)?隐藏静态方法vs覆盖非静态方法

+2

你能解释一下你的问题的名称的静态方法?你有没有一个例子?隐藏一个静态方法并覆盖一个非静态方法是两个非常不同的东西,所以你期望什么类型的比较? –

+2

我认为你对这件事情走错了路。您应该首先决定是选择静态还是实例方法,而不是决定是否喜欢隐藏或覆盖。一旦做出这个决定,其余选择就会变得非常明显。 – Paul

回答

2

Java是一种面向对象的编程语言这样,你应该总是从一个纯粹的程序方法更喜欢一个面向对象的方法,换句话说,你应该总是喜欢到覆盖方法,而不是隐藏的静态方法。我甚至可以说,隐藏静态方法是一种可怕的方式,因为它是非常容易出错,你应该送花儿给人前缀调用将相应的类