What is the difference when creating these two objects

```
Queue<String> test = new LinkedList<String>();

```

and

```
List<String> test2 = new LinkedList<String>();

```

What are the actual differences between `test` and `test2`? Are both of them `LinkedList` ? Are there performance differences or reasons to use one over the other?