Pregunta

I have next classes:

abstract public class Parent{
    static public void logRequestor(){
        //String requestor = // How to get requestor?
        //Log.e("Requestor is: " + requestor);
    }
}

class ChildA extends Parent{
}

class ChildB extends Parent{
}

Somewhere I have next lines:

ChildA.logRequestor();
ChildB.logRequestor();
ChildA.logRequestor();

How to know, which child are called static parent method with no params in function logRequestor? I want to have next logs:

Requestor is ChildA
Requestor is ChildB
Requestor is ChildA
¿Fue útil?

Solución 2

That is not possible, statics are defined in the class not in the instance therefore statics cannot be e.g. inherited und therefore cannot be used for polymorphism.

See this answer for more details: Why doesn't Java allow overriding of static methods?

Otros consejos

Static methods are not inherited.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top