java的参数类型为什么可以是接口?
在Java中,接口(Interface)是一种引用类型,它是方法的集合。接口可以被类实现(implement)。一个类可以实现多个接口,这就使得Java可以实现多重继承的效果。
当你在方法中使用接口作为参数类型时,你可以传入任何实现了Animal接口的对象,只要它们实现了该接口。
// 这是一个接口
public interface Animal {
void makeSound();
}
// 这是实现了Animal接口的Dog类
public class Dog implements Animal {
public void makeSound() {
System.out.println("Woof");
}
}
// 这是实现了Animal接口的Cat类
public class Cat implements Animal {
public void makeSound() {
System.out.println("Meow");
}
}
// 这是一个方法,它接受一个Animal接口作为参数
public void letAnimalSpeak(Animal animal) {
animal.makeSound();
}
// 现在你可以创建Dog和Cat对象,并将它们传递给letAnimalSpeak方法
Dog myDog = new Dog();
Cat myCat = new Cat();
letAnimalSpeak(myDog); // 输出 "Woof"
letAnimalSpeak(myCat); // 输出 "Meow"