class Super{ public int i=3; } class Sub extends Super{
public int i=4;
public int summe( int a){
return a + super.i;
}
public static void main(String[] args){
Sub sub= new Sub();
System.out.println( "Summe: " + sub.summe(sub.i) );
}
}
Hier werden i aus Super und i aus Sub addiert.
class Super{ public void m1(A a){ System.out.println("Super A a"); } public void m2(B b){ System.out.println("Super B b"); } public static void main(String agrs[]){ A a= new A(); B b= new B(); Super s = new Sub(); s.m1(a); s.m2(b); s.m3(b); } }
class Sub extends Super{ public void m2(B b){ System.out.println("Sub B b"); } public void m3(B b){ System.out.println("Sub B b"); } }
class A{}
class B extends A{}
m1 wird von Super übernommen
m2 wird von Sub übernommen
m3 wird nicht übernommen
class Super{ public void m1(Person a, Person b){ System.out.println("Person a, Person b"); } public void m1(Kind a, Person b){ System.out.println("Kind a, Person b"); } public void m1(Person a, Erwachsener b){ System.out.println("Person a, Erwachsener b"); } public static void main(String agrs[]){ Kind kind= new Kind(); Erwachsener erw= new Erwachsener(); Super s = new Super(); s.m1(kind, erw); } }
class Person{}
class Kind extends Person{}
class Erwachsener extends Person{}
Realisierung mit abstrakter Klasse
abstract class Geometrieobjekt{ public abstract void druckeEigenschaften(); }
class Kreis extends Geometrieobjekt{ public void druckeEigenschaften(){ System.out.println("Kreis ist rund"); } }
class Rechteck extends Geometrieobjekt{ public void druckeEigenschaften(){ System.out.println("Rechteck ist nicht rund"); } }
public class Geometrieobjektverwaltung { public static void main(String[] args) { Geometrieobjekt geometrieobjekt = null; if (args[0].equals("Kreis")) geometrieobjekt = new Kreis(); // if (args[0].equals("Bogenstueck")) // geometrieobjekt = new Bogenstueck(); if (args[0].equals("Rechteck")) geometrieobjekt = new Rechteck(); /* ... */ if (geometrieobjekt == null) { System.out.println("Ein " + args[0] + " ist bisher nicht implementiert"); } else { geometrieobjekt.druckeEigenschaften(); } } }