I have to create a lot of very similar classes which have just one method different between them. So I figured creating abstract class would be a good way to achieve this. But the method I want to override (say, method foo()) has no default behavior. I don't want to keep any default implementation, forcing all extending classes to implement this method. How do I do this?
You need an abstract method on your base class:
public abstract class BaseClass {
public abstract void foo();
}
This way, you don't specify a default behavior and you force non-abstract classes inheriting from BaseClass
to specify an implementation for foo
.
Just define foo() as an abstract method in the base class:
public abstract class Bar {
abstract void foo();
}
See The Java™ Tutorials (Interfaces and Inheritance) for more information.
Just make the method abstract.
This will force all subclasses to implement it, even if it is implemented in a super class of the abstract class.
public abstract void foo();
If you have an abstract class, then make your method (let's say foo
abstract as well)
public abstract void foo();
Then all subclasses will have to override foo
.
使这个方法abstract
。
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.