Мне нужна помощь с этим примером программы Java. Этот пример из книги
Ява: седьмое издание Герберта Шильдта.
У меня мало сомнений относительно этой программы, а также сомнений по поводу текста (объяснения этой темы), написанного в этой книге. Эта программа написана в разделе Наследование -> Переопределение метода. Здесь A - суперкласс B, а B - суперкласс C. В этой программе callme () - это метод, написанный в трех классах, где каждый callme () переопределяет другой метод callme ().
1) Что означает указание типа А в приведенной ниже программе? (Эта концепция реализована в строке A r; в методе Main)
2) Что такое соглашение о пространстве имен?
3) Что в этой программе означает «r относится к объекту A»? (Эта концепция реализована в строках r.callme (); записана в основном методе.)
class A
{
void callme()
{
System.out.println("Im in the class A");
}
}
class B extends A
{
void callme()
{
System.out.println("Im in the class B");
}
}
class C extends B
{
void callme()
{
System.out.println("Im in the class C");
}
}
public class Dispatch
{
public static void main(String args[])
{
A a = new A();
B b = new B();
C c = new C();
A r;
r = a;
r.callme();
r = b;
r.callme();
r = c;
r.callme();
}
}