我已經盡力找到了這個問題的最佳答案,但徒勞。因此,在采訪中有人問我這個問題,我回答“是”。由于抽象只不過是向用戶隱藏了實現細節,因此用戶不必擔心實現,而只知道方法簽名(需要傳遞的對象的類型和返回類型)。根據傳遞的對象類型,開發人員可以決定實現并返回相應的結果。因此,根據我的說法,這也可以使用如下的具體普通類來完成。public class LearnAbstraction { public static void main(String[] args) { Animal animal = new Tiger(); SpeakingAnimal sa = new SpeakingAnimal(); sa.getAnimalToSpeak(animal); }}class SpeakingAnimal { public void getAnimalToSpeak(Animal animal){ animal.speak(); }}class Animal{ public void speak(){ System.out.println("I am an Animal"); }}class Tiger extends Animal { public void speak() { System.out.println("I am an Animal and Tiger"); }}class Horse extends Animal { public void speak() { System.out.println("I am an Animal and Horse"); }}我知道這不是實現抽象的正確方法,必須使用接口或抽象類來完成。但是,問題是,是否可以使用具體的類來實現抽象(讓我們將適當的方法放在一邊)。因此,回答“是”是否正確?
可以使用具體的類來實現抽象嗎?
幕布斯6054654
2021-05-05 13:18:42