Non riesco a capire perchè creando una variabile d'istanza e utilizzandola nel costruttore in questo modo
codice:
public class Quadrato
{
    public int lato;

    public Quadrato(int l)
    {
        int lato = l;
    }
...
il programma non funziona, o meglio mi restituisce 0 come valore, mentre se nel corpo del costruttore tolgo "int" e quindi scrivo l'istruzione "lato = l;" al posto di "int lato = l;" funziona correttamente.
Se non erro l'errore viene dal fatto che nei metodi successivi ("perimetro" e "area") il compilatore prende in considerazione non la variabile inizializzata dal costruttore ma quella creata all'inizio che appunto è inizializzata di default a 0 essendo un intero. Io però non capisco perchè definendo il tipo le cose non vadano come dovrebbero.