title: Scala: abstract classes instantiation with trait?
body: <p>This a example code in the book:</p>
  
  <pre><code>abstract class Check {
    def check():String = "Checked Application Details... "
  }
  trait EmploymentCheck extends Check{
    override def check():String = "Check Employment ... " + super.check()
  }
  
  val app = new Check with EmploymentCheck
  </code></pre>
  
  <p>Which make me confused is the <code>new Check</code>, How can we instantiation a abstract class ? And why it will work by <code>with EmploymentCheck</code> ?</p>