;Ορισμός κλάσης Flat public class Flat { private double cost; private boolean sold = false; private double area; private int buildingNo; private int flatNo; static int totalFlats = 0; static Flat [] flats = new Flat[100]; public Flat(double cost, double area, int buildingNo) { this.cost=cost; this.area=area; this.buildingNo = buildingNo; this.flatNo=totalFlats+1; totalFlats++;} public void setSold (boolean sold) { this.sold = sold;} public double calcPrice() { return cost * area;} public void flatInfo () { System.out.println ("Building Number: " + buildingNo + " Flat Number: " + flatNo + " Area: " + area + " Price: " + calcPrice () );} } ;Ορισμός κλάσης Apartment public class Apartment extends Flat { private int numOfBeds; public Apartment (double cost, double area, int buildingNo, int numOfBeds) { super(cost, area, buildingNo); this.numOfBeds = numOfBeds;} public void flatInfo () { super.flatInfo() + System.out.println (" Number of bedrooms: " + numOfBeds);} } ;Ορισμός κλάσης Studio public class Studio extends Flat { private double extraCost; private boolean furnished; public Studio (double cost, double area, int buildingNo) { super(cost, area, buildingNo); this.extraCost = 0; this.furnished = false;} public Studio (double cost, double area, int buildingNo, double extraCost) { super(cost, area, buildingNo); this.extraCost = extraCost; this.furnished = true;} public double calcPrice () { return super.calcPrice() + extraCost;} public void printInfo() { if furnished super.flatInfo() + System.out.println("Furnished: " + "yes"); else super.flatInfo() + System.out.println("Furnished: " + "no");} } ;Ορισμός κλάσης Building public class Building { private int buildingNo; private String street; private String city; private int buildingTotalFlats = 0; private Flat [] flats = new Flat[10]; static Building [] buildings = new Building[10]; static int totalBuildings = 0; public Building(String street, String city) { this.street=street; this.city=city; this.BuildingNo = totalBuildings + 1; totalBuildings++;} } public void setFlat(Flat f){ this.flats[buildingTotalFlats+1] = f; this.buildingTotalFlats++;} public void buildingInfo () { System.out.println("Street: " + street +", City: " + city + ", Number of flats: " + buildingTotalFlats); for(int i=0;i