将实例分配给上层类的实例

Can*_*ncü 1 java inheritance interface instance

为什么我们将实例分配给上层类的实例?这样做的原因是什么?对于前者 为什么我们在下面使用此代码?

List lst = new LinkedList();
Run Code Online (Sandbox Code Playgroud)

似乎List是LinkedList的上层.为什么我们需要使用上层'实例而不是继承类',LinkedList的实例.

另外,我还有一个问题.

我已经看到一些代码将类实例分配给它的接口.为什么我们需要下面的例子呢?我知道,因为我们无法生成接口的实例,所以它允许我们使用接口的实例.但是,使用接口实例有什么意义呢?

Apple a = new Apple();
IFruit b = (IFruit) a; (IFruit is the interface of Apple)
Run Code Online (Sandbox Code Playgroud)

我希望,我已经清楚了.提前致谢.

卢声远*_* Lu 5

程序接口(摘要).

稍后,如果您想要LinkedList而不是ArrayList,您只需要更改一个行代码:

List lst = new LinkedList();
Run Code Online (Sandbox Code Playgroud)