In java we cannot override a final method but is it possible to overload ?
Yes, overloading a final method is perfectly legitimate.
For example:
public final void doStuff(int x) { ... }
public final void doStuff(double x) { ... }
Yes, but be aware that dynamic dispatch might not do what you are expecting! Quick example:
class Base {
public final void doSomething(Object o) {
System.out.println("Object");
}
}
class Derived extends Base {
public void doSomething(Integer i) {
System.out.println("Int");
}
}
public static void main(String[] args) {
Base b = new Base();
Base d = new Derived();
b.doSomething(new Integer(0));
d.doSomething(new Integer(0));
}
This will print:
Object Object
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With