C++ Java
Konstanten
#define Konstanten: final
Makros: import
Funktions-Prototypen Reihenfolge der Methoden beliebig
Zeiger, Referenzen Objektvariablen sind immer Referenzen
boolsche Werte mittels Integer
if (zahl=liefereWert()) ... boolean-Typ -> Konstanten True, False
if((zahl=liefereWert())!=0) ...
Bereichsauflösungs-Operator ::
z.B.: KlasseX::mache(x);
BasisKlasse::mache(x); Punkt auch nach dem Klassennamen
KlasseX.mache(x);
Basismethode mittels super
super.mache(x);
Strichpunkt nach Klassendeklaration Kein Strichpunkt mehr
Aufruf des Basiskonstruktors mittels Initialisierer-Syntax
XKLASSE (): BKLASSE() { ... } Aufruf von super im Konstruktorrumpf
XKLASSE () { super(); ...}
virtual automatisch späte Bindung ausser bei private,static,final-Methoen
Überladen von Operatoren Überladen nicht mehr möglich
Default-Parameter Keine Default-Parameter
const int max = 100; final int max = 100;
Initalisierung direkt bei der Deklaration nicht möglich!
class X {
int anz;
static const int max;
... }
const int X::max = 100;
X::X(...) : anz(10) {...} Initalisierung direkt bei der Deklaration möglich!
class X {
int anz = 10; static final int max = 100; ... }
Destruktor finalize
Vererbung:
class A : public BasisKl {
... } Vererbung:
class A extends BasisKl {
... }
Mehr zu diesem Thema
Zugriffsschutz
public,protected,private,...
Angabe gilt für alle Eigenschaften und Methoden des Objectes
Default: private Zugriffsschutz
public,protected,private,...
muss bei jeder Eigenschaft und Methode angegeben werden
Default (=keine Angabe): freundlich für Klassen des eigenen package
Mehrfachvererbung Interfaces
Mehr zu diesem Thema
Arrays Arrays
Mehr zu diesem Thema
Strings Strings
Mehr zu diesem Thema
Vererbung - Vererbung in Java
1. Zweck:
final-Klassen: können nicht Basisklasse für andere Klassen sein
z.B.:
o final class X { ... }
o class Y extends X { ... } nicht erlaubt
\"Bekannteste\" final-Klasse: String
Vorteil: Optimierungsmöglichkeit für Compiler (frühe Bindung, ...)
2. Konstruktor-\"Verkettung\":
z.B.:
class X {
public int i;
public int j;
public X (int i) { this.i = i;}
public X (int i, int j)
{ this(i);
this.j = j;
}
}
|