class MyClass{} // curly braces are optional here as class body is empty
class MyClassWithMethod {def method: MyClass = ???}
new MyClass() //Instantiate
object MyObject // Singleton object
class MyClassWithGenericParameters[V1, V2](vl: V1, i: Int, v2: V2)
class MyClassWithImplicitFieldCreation[V1](val v1: V1, val i: Int)
new MyClassWithGenericParameters(2.3, 4, 5)
or with a different type: new MyClassWithGenericParameters[Double, Any](2.3, 4, 5)
class MyClassWithProtectedConstructor protected[my.pack.age](s: String)