Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
danek130995
23 / 23 / 1
Регистрация: 25.05.2014
Сообщений: 836
#1

Обращение из статического метода - Android

04.11.2015, 18:34. Просмотров 128. Ответов 4
Метки нет (Все метки)

Очень интересно вот что: В уроке 120 проекта startandroid есть статический метод в классе MyWidget, который обращается к не-статическим переменным. Это же вроде как нельзя делать? Я попробовал в eclipse-
Java
1
2
3
4
5
6
public class teststatic {
int a;
    static void bazinga(){
        a=4;    
    }   
}
Выдает ошибку "поле a также должно быть static". Может я что-то путаю? Почему статический метод updateWidget в классе MyWidget имеет ссылки на non-static объекты? (Context ctx, AppWidgetManager appWidgetManager,
int widgetID)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2015, 18:34     Обращение из статического метода
Посмотрите здесь:

Обращение к елементам Activity Android
Android Обращение к файлу ресурсов
Android Обращение к методу другого класса
Обращение к View-элементу в GridLayout Android
Обращение к каждому элементу Адаптера Android
Обращение к UI из Timer Android
Обращение к функции находящейся не в MainActivity Android
Android Обращение к элементу другой формы
Android Обращение к фрагменту вне активити
Обращение к View элементам фрагмента Android
Обращение к MySQL Android
Обращение к NULL TextView Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
2012 / 1754 / 545
Регистрация: 12.05.2014
Сообщений: 6,207
Завершенные тесты: 1
04.11.2015, 19:43     Обращение из статического метода #2
все нужные переменные туда передаются как параметры, неужели не видно? (я про метод updateWidget())
это совсем не то, что обращение к полям класса
danek130995
23 / 23 / 1
Регистрация: 25.05.2014
Сообщений: 836
04.11.2015, 20:24  [ТС]     Обращение из статического метода #3
Паблито, я понимаю, что передаются как параметры) извините, я уже заработался.. До меня уже дошло, что статические методы не могут обращаться к нестатическим полям своего класса, так как они не создаются вместе с объектом своего класса, но зато могут обращаться к другим объектам(не своего класса, а также своего, но только если создать явно экземпляр, например, вот так:
Java
1
2
3
4
5
6
7
public class teststatic {
int a;
    static void bazinga(){ 
teststatic c = new teststatic();
c.a=4;
    }   
}
)
Паблито
04.11.2015, 21:02
  #4

Не по теме:

тут даже рекомендуют делать по возможности методы статическими, если у них не меняется состояние объекта, то есть нет обращения к полям класса
якобы это от 15 до 20% быстрее чем обращение к не статическим методам, я не проверял, но наверное это так и есть

danek130995
23 / 23 / 1
Регистрация: 25.05.2014
Сообщений: 836
04.11.2015, 21:18  [ТС]     Обращение из статического метода #5
Паблито, полезно, буду знать, спасибо!
Yandex
Объявления
04.11.2015, 21:18     Обращение из статического метода
Ответ Создать тему
Опции темы

Текущее время: 12:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru