2017-11-12 7 views
0

このコードでは、静的メソッドを含む親クラスのAnimalを宣言し、同じメソッドを含むAnimalの子クラスを宣言しました。私はちょうどこれをするのがよい習慣であるかどうかを知りたい。Javaの親クラスですでに定義されている子クラスの同じ静的メソッドをオーバーライドすることは悪い習慣ですか?

class Animal{ 
    public static void eat() { 
     System.out.println("Animal Eating"); 
    } 
} 

class Dog extends Animal{ 
    public static void eat() { 
     System.out.println("Dog Eating"); 
    } 
} 
+3

あなたは、静的メソッドをオーバーライドすることはできません。 – Eran

+0

なぜ静的メソッドですか?より良い解決策は、アモスの言葉のようなものです。 – esprittn

答えて

3
  1. いいえ、それはない悪い習慣です。良いアイデアは、親クラスである

  2. まあ、それはあなたの例では代わりに良い習慣です、私たちはとにかく子クラスは、独自のロジックを持っていますから、abstractとしてメソッドを宣言し、親クラスのコード無意味です。

`

class Animal{ 
    abstract void eat(); 
} 
class Dog extends Animal{ 
    public void eat() { 
     System.out.println("Dog Eating"); 
    } 
} 

`

関連する問題