重写子类中已经在Java父类中定义的相同静态方法是一种不好的做法吗?
在这段代码中,我声明了一个包含静态方法的父类Animaleat,以及一个包含相同方法的子类Animal。我只是想知道这样做是否是一种好的做法重写子类中已经在Java父类中定义的相同静态方法是一种不好的做法吗?,java,static,polymorphism,overriding,Java,Static,Polymorphism,Overriding,在这段代码中,我声明了一个包含静态方法的父类Animaleat,以及一个包含相同方法的子类Animal。我只是想知道这样做是否是一种好的做法 class Animal{ public static void eat() { System.out.println("Animal Eating"); } } class Dog extends Animal{ public static void eat() { System.out.prin
class Animal{
public static void eat() {
System.out.println("Animal Eating");
}
}
class Dog extends Animal{
public static void eat() {
System.out.println("Dog Eating");
}
}
`您不能覆盖静态方法。为什么要覆盖静态方法?更好的解决方案就像Amos提到的。你不能覆盖静态方法。为什么是静态方法?更好的解决方案就像阿莫斯提到的那样。
class Animal{
abstract void eat();
}
class Dog extends Animal{
public void eat() {
System.out.println("Dog Eating");
}
}