2017-11-12 2 views
0

In diesem Stück Code habe ich eine Elternklasse Tier mit statische Methode essen und eine Kindklasse von Animal mit derselben Methode erklärt. Ich möchte nur wissen, ob es eine gute Übung ist, dies zu tun.Ist es eine schlechte Methode, die gleiche statische Methode in der untergeordneten Klasse zu überschreiben, die bereits in der übergeordneten Klasse in Java definiert ist?

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

Sie nicht statische Methoden außer Kraft setzen können. – Eran

+0

Warum statische Methode? Die bessere Lösung ist wie Amos erwähnt. – esprittn

Antwort

3
  1. Nein, ist es nicht eine schlechte Praxis. Nun, es ist eine gute Praxis statt in Ihrem Beispiel

  2. Eine bessere Idee in der übergeordneten Klasse ist, dass wir die Methode als abstract erklären, da ohnehin das Kind Klasse seine eigene Logik, und der Code in der übergeordneten Klasse ist bedeutungslos.

`

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

`

Verwandte Themen