Приведение классов Java в Android - PullRequest
0 голосов
/ 29 мая 2011

Мне интересно, может ли кто-нибудь объяснить что-то о приведении класса для меня.

Я играю с Android и у меня есть подкласс приложения с именем ExApp.

Я хочу позвонитьметод ExApp из одного из моих занятий, поэтому я делаю:

ExApp ex = ((ExApp)getapplication());

Чего я не понимаю, так это зачем мне двойной набор скобок?Почему я не могу просто:

ExApp ex = (ExApp)getApplication();  

?

Спасибо.

1 Ответ

7 голосов
/ 29 мая 2011

Можно. Два утверждения абсолютно одинаковы.

В этом случае вы увидите разницу, если бы вы вызывали метод для результата, например,

(ExApp) getApplication().foo();

отличается от:

((ExApp) getApplication()).foo();

В первом случае это результат foo(), который приведен к ExApp; во втором - результат ExApp, а общее выражение - тип возвращаемого значения foo().

...