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

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++呢)

相关推荐
一 乐25 分钟前
酒店客房预订|基于springboot + vue酒店客房预订系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端
计算机毕设指导626 分钟前
基于Spring Boot的防诈骗管理系统【源码文末联系】
java·spring boot·后端·spring·tomcat·maven·intellij-idea
a程序小傲33 分钟前
饿了吗Java面试被问:Redis的持久化策略对比(RDBVS AOF)
java·redis·面试
我家领养了个白胖胖40 分钟前
MCP模型上下文协议 Model Context Protocol & 百度地图MCP开发
java·后端·ai编程
Coder_Boy_43 分钟前
基于DDD+Spring Boot 3.2+LangChain4j构建企业级智能客服系统
java·人工智能·spring boot·后端
黄俊懿1 小时前
【深入理解SpringCloud微服务】Spring-Security作用与原理解析
java·后端·安全·spring·spring cloud·微服务·架构师
塔能物联运维1 小时前
设备自适应采样率忽视能耗致续航降 后来结合功耗模型动态调优
java·后端·struts
rchmin1 小时前
Spring Boot自动装配原理解析
java·spring boot·后端
程序员小假1 小时前
我们来说一下 synchronized 与 ReentrantLock 的区别
java·后端
益达3211 小时前
【避坑指南】Maven依赖冲突怎么解决?用mvn dependency:tree一眼看清
java