java - Queue q = new LinkedList 和 LinkedList q = new LinkedList 之间的区别?

标签 java polymorphism

<分区>

新手 Java 问题:

谁能解释一下

1. Queue<Integer> q = new LinkedList<Integer>() and
2. LinkedList<Integer> q = new LinkedList<Integer>()

在 Java 中?我曾假设在声明 1. 中,我将无法使用 LinkedList 特定方法,只能使用 Queue 接口(interface)描述的方法。但是,我只是尝试了 q.size() 并发现它有效,尽管它不是 Queue 接口(interface)的一部分。

将这些对象作为参数传递有区别吗?有什么区别?

最佳答案

Queue 实现了 Collection,它有一个 size() 方法。

正如您所指出的,这两个声明的区别在于可用方法的数量有限,而允许的实现类型更多 - 例如 - 方法参数。

关于java - Queue q = new LinkedList 和 LinkedList q = new LinkedList 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17508202/

相关文章:

c# - C#中对象实例化左侧的抽象类

ruby - 是否可以通过重载来实现多态?

c++ - 更改派生类中函数的可见性

java - 我想使用默认的参数化构造函数查找数字的阶乘。输出为 0

java - 为什么 Calendar.before() 和 Calendar.after() 接受对象值?

java - Spring Boot Mongo Data - 如何设置命名策略

java - 具有内存后端的嵌入式 OpenDS LDAP 服务器

java意外隐式接口(interface)实现

java - 一个适配器多种数据类型 - android

java - 增加no时,Java CPU密集型应用程序停止/挂起。 worker 。瓶颈在哪里,以及如何在Ubuntu服务器上推断/监视瓶颈?