Why is this an `object` rather than a `val`? What are the semantics of an inner-object like this... is it static?

```
  val userClassLoader = new URLClassLoader(urls, null) {
    override def addURL(url: URL) {
      super.addURL(url)
    }
    override def findClass(name: String): Class[_] = { 
      super.findClass(name)
    }
  }
```