Servus,
der u.g. Code macht mir kleinere Probleme:
ich verstehe nicht , wie es zu den Ausgaben 4,5 & 6 kommt:
1. this.tier = Pinguin
2. Löwe, weil der Datentyp Long übergeben wird
3. Bär ist logisch
4. Elefant
5. Giraffe
6. Hund
Herzlichen Dank
der u.g. Code macht mir kleinere Probleme:
ich verstehe nicht , wie es zu den Ausgaben 4,5 & 6 kommt:
1. this.tier = Pinguin
2. Löwe, weil der Datentyp Long übergeben wird
3. Bär ist logisch
4. Elefant
5. Giraffe
6. Hund
Herzlichen Dank
Java:
public class EineNeueKlasse{
String tier = "Pinguin"; //1. this.tier = Pinguin
public static void main(String[] args) {
new EineNeueKlasse("Biene").m(42L);
}
EineNeueKlasse(String tier) {
System.out.println(this.tier);
}
void m(Number n){
System.out.println("Esel");
new WeitereInnereKlasse().methode(new SubInnereKlasse("Giraffe"));
}
void m(Long l) {
System.out.println("Löwe"); //2. Löwe, weil Long
new WeitereInnereKlasse().methode(new SubInnereKlasse("Giraffe")); //5. Giraffe
}
class InnereKlasse {
String tier = "Elefant"; //4.Elefant
InnereKlasse(String tier) {
System.out.println(this.tier);
}
void n(WeitereInnereKlasse weitereInnere) {
System.out.println("Hund"); //6. Hund
}
void n(EineNeueKlasse eineNeue) {
System.out.println("Hamster");
}
}
class SubInnereKlasse extends InnereKlasse{
String tier = "Adler";
public SubInnereKlasse(String tier) {
super("Hase");
System.out.println(tier);
}
}
static class WeitereInnereKlasse {
{
System.out.println("Bär"); //3. Bär
/* [2] */
}
void methode(InnereKlasse innereKlasse) {
innereKlasse.n(this);
}
}
static void andereMethode() {
/* [1] */
}
}