Why not simply declaring the platform: Platform and nav: NavController as Class member variables wont work? Aren’t they instantiated too when class is created?
Exctly. Angular by default injects the imported classes, but you can choose to inject something else when you manually create an instance of this class (in testing for example, and then you can inject a Mock instead of the real Platform).
(Vocabulary in this post is probably not 100% accurate, but I hope you get the idea)