Android переопределяет приватный метод с помощью отражения - PullRequest
0 голосов
/ 29 октября 2019

Здравствуйте, у меня есть класс с закрытым методом, и мне нужно переопределить его с помощью рефляции. Я вижу много примеров изменения приватных полей или вызова приватных методов, но я не нашел ни одного примера переопределения.

У меня есть этот код

public class TestClass {
public void print(string str)
{
doSomeThing(str);
}

private void doSomeThing(string str)
{
Log.d("tag","printed :"+str);
}
}

, но я хочу изменить Log.d("tag","printed :"+str);на Log.d("tag","printed override :"+str); или другой код. Как это возможно сделать с отражением?

1 Ответ

0 голосов
/ 29 октября 2019

Вы не можете переопределить закрытый член, потому что закрытый член принадлежит его уникальному классу. Если другой класс расширяет этот класс, новый класс не будет иметь такого члена, и поэтому вы можете просто создать новый.

Может быть, вы хотите использовать защищенный модификатор вместо private?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...