Not every method is redefinable: you cannot redefine methods final, privateand static.
below is a small sample of what this means in practice:
class Base {
public final void fun1() {
}
private void fun2() {
System.out.println("Base::fun2");
}
public void fun2Call() {
fun2();
}
}
class Rextester extends Base
{
private void fun2() {
System.out.println("Rextester::fun2");
}
public static void main(String args[])
{
Base b = new Rextester();
b.fun2Call();
}
}
, static - , private , , . , static public protected .