接口作为返回类型与类作为返回类型一样吗?

LinkedList<Integer> q = new LinkedList<>();和Queue<Integer> q = new LinkedList<>();一样吗?

我现在想创建一个队列对象,正常情况下我会这样写:Queue<Integer> q = new Queue<>();

但是你仔细想想,这样写真的对吗?

Queue是接口,但是接口是不能实例化一个对象的

那怎么办?

先看看LinkedList部分源代码

java 复制代码
public class LinkedList<E>
    extends AbstractSequentialList<E>
    implements List<E>, Deque<E>, Cloneable, java.io.Serializable

可以看到 LinkedList实现了Deque(Deque继承了Queue),所以可以用LinkedList类实例化一个对象,而返回类型仍然是Queue接口,这样就创建好了一个队列(java创建一个队列理解起来真tm麻烦,还不如用c++呢)

相关推荐
96775 分钟前
springMVC请求处理全过程
java
gelald7 分钟前
Spring - 事务管理
java·后端·spring
橘子编程8 分钟前
编译原理:从理论到实战全解析
java·linux·python·ubuntu
xuhaoyu_cpp_java8 分钟前
Maven学习(一)
java·经验分享·笔记·学习·maven
sibylyue9 分钟前
Nginx\Tomcat\Jetty\Netty
java·nginx·http
于先生吖10 分钟前
基于 SpringBoot 架构,高性能 JAVA 动漫短剧系统源码
java·开发语言·spring boot
斌味代码17 分钟前
SpringBoot 3 实战:虚拟线程、全局异常处理与 JWT 鉴权完整方案
java·spring boot·后端
电商API&Tina34 分钟前
跨境电商如何接入1688官方寻源通接口?附接入流程
java·数据库·python·sql·oracle·json·php
Mr_Xuhhh38 分钟前
深入理解Java Map与Set:从二叉搜索树到哈希表,全面解析搜索数据结构
java·数据结构·散列表
于先生吖1 小时前
支持二开与商用,JAVA 漫剧付费观看系统完整源码
java·开发语言