public class Main
{
public static void main(String[] args)
{
new Main().Run();
}
public void Run()
{
ClassB b = new ClassB();
b.doThing();
}
public class ClassA
{
public void doThing()
{
print();
}
public void print()
{
System.out.println("A");
}
}
class ClassB extends ClassA
{
public void print()
{
System.out.println("B");
}
}
}
Is there anyway I can write doThing() so that it always calls the ClassA version of print so that when the program runs it prints “A” instead of “B”