cdh*_*wie 7

因为B,通过延伸A,也是一个A.我们用面向对象的术语来说这是a B -a A.这意味着您可以使用您使用的B任何地方A.

这种关系是不可交换的- B是-一A意味着A是-A B.因此,您无法使用A任何您想要使用的地方B.

考虑这种情况:

class Animal;
class Dog extends Animal;
Run Code Online (Sandbox Code Playgroud)

这是有道理的:

Animal animal = new Dog();
Run Code Online (Sandbox Code Playgroud)

在任何地方使用Animal你都可以使用a Dog.这很直观.

Dog dog = new Animal();
Run Code Online (Sandbox Code Playgroud)

另一方面,这没有意义.