class A{
private int x;
public A(int x){
this.x = x;
}
}
class B extends A{
private int y;
public B(int x, int y){
super(x); // Aufruf des Konstruktors der Klasse A
this.y = y; // this.y ist die Klassenvariable, y die übergebene Variable
}
}
class A {
private void foo() {
System.out.println("A");
}
}
class B extends A {
private void bar() {
super.foo();
}
}
class A extends Object {
public void m() { System.out.println("A.m()"); }
}
class B extends A {
@Override
public void m() { System.out.println("B.m()"); }
class BA extends B {
@Override
public void m() { B.this.m(); }
}
class BB extends B {
@Override
public void m() { B.super.m(); } // äußerst ungewöhnlich!
}
}
public class ThisSuper {
public static void main(String[] args) {
new A().m(); // OUTPUT: A.m()
new B().m(); // OUTPUT: B.m()
new B().new BA().m(); // OUTPUT: B.m()
new B().new BB().m(); // OUTPUT: A.m()
}
}
Es sei denn man will Deinen Quelltext mit einem Java-Compiler kompilieren. Dann ist es nicht möglich. ;-)Mittels [c]super[/c] ist es auch möglich, auf die [privaten] Methoden einer Oberklasse zuzugreifen.
Mist, ich hätte schwören können...Es sei denn man will Deinen Quelltext mit einem Java-Compiler kompilieren. Dann ist es nicht möglich. ;-)