Ich weiß, dass Super ist eine Referenzvariable, die verwendet wird, um unmittelbare Elternklasse Objekt beziehen. Aber ich finde den Hashcode von super
und this
sind gleich, was bedeutet, dass sie auf Kindobjekt beziehen.Warum gibt hashCode() dasselbe Ergebnis, wenn es über "super" und "this" aufgerufen wird?
Dann, wie wird super
verwendet, Elternobjekt Objekt aufzurufen?
Beispielcode:
class Animal{
int a;
Animal(){
System.out.println("animal constructor ");
}
}
class Dog extends Animal{
int b;
Dog(){
System.out.println("dog constructyor ");
System.out.println(this.hashCode()+" "+super.hashCode());
System.out.println(this.getClass()+" "+super.getClass());
}
}
public class Super1{
public static void main(String[] args){
Dog d=new Dog();
System.out.println(d);
}
}
Auch Klassen sowohl der Super und diese sind gleich.
Vielen Dank für die Antwort .... Ich lese über super auf dieser Website [link] (https://www.javatpoint.com/super-keyword) @ EJP –
Dieser Link ist die übliche Grade A Dabbel. Verwenden Sie keine Websites von Drittanbietern, wenn eine große Oracle-Website voll mit Inhalten ist. – EJP