Dart doesn't support a direct way to do this. Usually we work around this by providing a closure that instantiates the type for us:
void _newDisplay(dynamicType, Display display) {
display = dynamicType();
display.load(PATH);
}
_newDisplay(() => Start(), start);
_newDisplay(() => Grid(), grid);
Also see What are some good workarounds for dart's lack of static typing semantics?