Сегодня мы перешли на наследование в мою компьютерную науку и поговорили о доступе к методам из других классов. Один из моих одноклассников спросил, как суб-суб-класс должен получить доступ к самой высокой метод родителей классов, и мой профессор был любопытным об этом, а также и предположил, что-то вроде:Наследование, методы вызова из подклассов
super.super.toString();
Может быть в состоянии работать, что это не делает. И будучи любопытным я пытался понять это самостоятельно и придумал это:
public class A {
public static void main(String[] args){
B b = new B();
C c = new C();
System.out.println(b.toString());
System.out.println(c.toString());
}
public String toString(){
return "Class A";
}
}
class B extends A {
public String toString(){
return "Class B";
}
}
class C extends B {
public String toString(){
return A.class.toString();
}
}
Который разработал, теперь во время тестирования различных вещей, которые я наткнулся на это: (Это было все сделано в классе С)
super.toString();
Кажется, чтобы сделать то же самое, как:
B.class.toString();
Мой вопрос есть ли разница между этими двумя, или они точно так же? Также в моем коде выше, это правильный способ вызова метода из под-подкласса?