/** Frukt-klassen */ public abstract class Frukt { protected String navn; protected boolean spiselig; public Frukt(String navn, boolean spiselig) { this.navn = navn; this.spiselig = spiselig; } @Override public String toString() { return "Navn: " + navn + "\nSpiselig: " + spiselig; } } /** Noett-klassen */ public class Noett extends Frukt { private boolean maaKnekkes; public Noett(String navn, boolean spiselig, boolean maaKnekkes) { super(navn, spiselig); this.maaKnekkes = maaKnekkes; } @Override public String toString() { return super.toString() + "\nMå knekkes: " + maaKnekkes; } } /** Baer-klassen */ public class Baer extends Frukt { int surhetsgrad; public Baer(String navn, boolean spiselig, int surhetsgrad) { super(navn, spiselig); this.surhetsgrad = surhetsgrad; } @Override public String toString() { return super.toString() + "\nSurhetsgrad: " + surhetsgrad; } } /** Hovedprogrammet */ public class Hoved { public static void main(String[] args) { Frukt frukt = new Baer("Blåbær", true, 1); System.out.println(frukt.navn); System.out.println(frukt.spiselig); // System.out.println(frukt.surhetsgrad); // feilmelding System.out.println(); System.out.println(frukt); Baer baer; if (frukt instanceof Baer) { baer = (Baer) frukt; System.out.println(); System.out.println(baer.navn); System.out.println(baer.spiselig); System.out.println(baer.surhetsgrad); System.out.println(); System.out.println(baer); } Noett noett = new Noett("Hasselnøtt", true, true); System.out.println(); System.out.println(noett); } }