nn.Linear is also an nn.Module just like your Net.
Internally when you call Net(x) or self.hidden(x) the __call__ method is called, which registers hooks etc., and finally calls forward. You can check it out in the source file 32.