I don’t know the original consideration behind this, but it makes sense to me: If you want to use the ‘SAM function literal’, which is more a functional programming style, ‘this’ pointer is kind of confusing.
So by forcing you to use the ‘object : Class’ anonymous class syntax, you will know it’s more a traditional class, where ‘this’ makes more sense.