I have 3 classes. It seems basic question. But I can'nt find answer by googling.
public abstract class Test {
void t1()
{
System.out.println("super");
}
}
public class concret extends Test{
void t1()
{
System.out.println("child");
}
void t2()
{
System.out.println("child2");
}
}
public class run {
public static void main(String[] args) {
Test t=new concret();
t.t1();
}
}
How do I call abstract class t1 method? Since I cant create object from abstract class how do I call t1 in abstract class? Thank you.
See following tests:
use keyword 'super' to do that
Make sure you use that in the overriden method though.
Your code seems to call t1(). However this is calling the concrete t1() because the abstract t1() has been overridden by the concrete class.
If you wish to call the abstract t1 method from main code, do not override the t1() in concrete.
Or you can create a method in the concrete class for example:
Abstract class means the class has the
abstract
modifier before theclass
keyword. This means you can declare abstract methods, which are only implemented in the concrete classes.For example :
Create an anonymous Inner class,
Abstract class:
Here is how to create anonymous inner class:
Call the class via the object created for abstract class,
you should be able to do it using