Salve ho trovato e fatto un esercizio sull'ereditarietà, ma una volta vista la soluzione mi è sorto un dubbio, vi posto qui sotto il file. Mi chiedevo perchè si omette la dichiarazione "public" nel costruttore di Rettangolo e Triangolo e negli altri metodi delle due classi? Premetto sono appredista
codice:
public class Figura {
	
	private double base;
	private double altezza;
	
	
	public Figura(double base,double altezza){
		this.base=base;
		this.altezza=altezza;
	}

	
	public double area(){
		System.out.println("L'area per un oggetto di tipo figura non è definita");
		return 0;
	}
}
//classe RETTANGOLO
class Rettangolo extends Figura{
	
	double base;
	double altezza;
	
	
	Rettangolo(double base,double altezza){
		super(base,altezza);
		this.altezza=altezza;
                this.base=base;

		
	}
	
	
	public double area(){
		return this.base*this.altezza;
	}
}


//Classe TRIANGOLO
class Triangolo extends Figura{
	
	double base;
	double altezza;
	
	
	Triangolo(double base,double altezza){
		super(base,altezza);
		this.base=base;
		this.altezza=altezza;
		
	}
	
	
	public double area(){
		return (this.base*this.altezza)/2;
	}
}


class CalcolaArea{
	public static void main(String [] args){
		Figura fig=new Figura(3,4);
		Figura ret= new Rettangolo(5,6);
		Figura tri=new Triangolo(3,5);
		
		
		fig.area();
		System.out.println(ret.area());
		System.out.println(tri.area());

	}
}