Abstract class can have constructor?