I have noticed that an angular class doesn't recognize an injected service if it hasn't been injected with explicit scope definition.

This following code doesn't work

```
constructor(router: Router) {}

```

but this one does.

```
constructor(private router: Router) {}

```

Can anyone explain why? I believe that if you don't explicitly write the property's scope definition, then it is public by default, like classes properties, but seems like is not the case in here.