..and if so what is the behavior? I came across this in some code I was looking at recently, and it is very confusing to me. I don't have a java compiler, so I can't answer this easily myself. Here is the rough example of what I'm talking about. I would expect this result in a compile error, but as far as I know it is from a working code base.
abstract class Base {
...
abstract boolean foo(String arg);
}
class Sub extends Base {
...
boolean foo(String arg) {
if(condition)
return true;
else
return super.foo(arg); //<-- <boggle/>
}
}