Kotlin:Interface Queue没有构造函数

时间:2017-06-06 12:37:05

标签: kotlin

我正在尝试使用下面的代码

来实例化Queue的对象

var queue: Queue<Int> = Queue()

但我得到了这个

  

Interface Queue没有构造函数

不知道发生了什么,搜索时我发现了link.

但我什么都不懂。 请帮忙。

3 个答案:

答案 0 :(得分:22)

var queue: Queue<Int> = ArrayDeque<Int>()interface。因此,您无法实例化接口,您必须实现它或实例化实现它的类。

例如,您可以执行QueueArrayDeque实施use std::thread; fn test2() { let x = "abc".to_string(); thread::spawn(|| { foo2(x); }); } fn foo2(x: String) {} fn test1() { let x = 1; thread::spawn(|| { foo1(x); }); } fn foo1(x: i32) {} fn main() {}

答案 1 :(得分:7)

您尝试创建接口实例但不要覆盖它的方法。你应该使用这样的东西:

val queueA = LinkedList<Int>()
val queueB = PriorityQueue<Int>()

您还可以阅读有关队列实施的更多信息here

答案 2 :(得分:0)

队列是一个接口。所以你不能实例化一个接口。你应该使用这样的东西:

val queue: Queue<Int> = LinkedList()