如果重写方法返回某些信息,那意味着什么,这如何有用?

时间:2018-11-02 21:32:31

标签: java

建立界面对我有什么帮助?然后在类上实现它,该类将覆盖返回变量的方法(例如String,int,boolean)。
它有什么用?

interface Animal {
        public boolean canBite();
}

//现在在类上实现它。

class Dog implements Animal {
  @Override
  public boolean canBite() {
     //do something here and return true or false
  }

}

2 个答案:

答案 0 :(得分:1)

接口使您可以定义一组类通用的方法。接口的实现对于每个类可以不同,并且由这些类来独立实现方法的作用。

interface Animal {
    // Define the interface
    Boolean canBite();
}

class Dog implements Animal {
    // Define an implementation for Dog
    @override
    public Boolean canBite() {
        return true;
    }
}

class Duck implements Animal {
    // Define an implementation for Duck
    @override
    public Boolean canBite() {
        return false;
    }
}

class Program {
    public static void main(String[] args) {
        // Create an array of the interface type and populate it with examples
        Animal[] animals = new Animal[4];
        animals[0] = new Dog();
        animals[1] = new Duck();
        animals[2] = new Duck();
        animals[3] = new Dog();

        // Check which members can bite
        for (Animal animal : animals) {
            System.out.println(animal.canBite());
        }
    }
}

/*
 * Output:
 * true
 * false
 * false
 * true
 */

答案 1 :(得分:0)

每个将实现此接口并且还将实现此方法的类都将返回不同的值。结果,您将为各种类使用不同的方法实现。这样,您可以将所需结果返回到称为此方法的方法。如果您有一个抽象类想要覆盖此方法并将结果返回给调用它的方法,这也可以为您提供帮助。