Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

04.11.2015, 18:34. Просмотров 162. Ответов 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)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2015, 18:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обращение из статического метода (Программирование Android):

Поток из не статического метода - C++
try{ _Running = true; iret = pthread_create(&_ThreadRunClient, NULL, Run_Client, 0); ...

Вызов статического метода - PHP ООП
Доброго времени суток, господа! Метод вызывается так: class nameClass { public function metod($r) { // что-то тут... ...

.NET 4.x Достучаться до контрола из статического метода - C#
Программа при запуске с ней ассоциированных файлов должна их открывать,декодировать и т.д. При запуске файлов идёт вызов программы с...

Наследование статического метода в интерфейсе - C#
знаю, это самые азы, но мне раньше просто не было необходимости писать интерфейсы (как то без них обходился) и вот сейчас возник такой...

Обращение к переменной метода из другого метода - Java SE
public class Solution { public static void main(String args) throws Exception { readText(); rectangle(); ...

.NET 4.x Вызов метода статического класса из сборки - C#
Как вызвать метод статического класса из сборки? Сборку я подгрузил, а дальше?

4
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
04.11.2015, 19:43 #2
все нужные переменные туда передаются как параметры, неужели не видно? (я про метод updateWidget())
это совсем не то, что обращение к полям класса
1
danek130995
24 / 24 / 1
Регистрация: 25.05.2014
Сообщений: 874
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;
    }   
}
)
0
Pablito
04.11.2015, 21:02
  #4

Не по теме:

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

0
danek130995
24 / 24 / 1
Регистрация: 25.05.2014
Сообщений: 874
04.11.2015, 21:18  [ТС] #5
Паблито, полезно, буду знать, спасибо!
0
04.11.2015, 21:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2015, 21:18
Привет! Вот еще темы с ответами:

Доступ к компоненту textBox1 из статического метода. - C#
Здравствуйте. Подскажите пожалуйста, как обратится к элементу textBox1, расположенному на форме, из статического метода (метод должен быть...

Вызов статического метода из другого класса - C++
Добрый день. Есть MAIN.cpp: STDMETHODIMP CMAIN::Function1(VARIANT Data,BYTE* pBuff) { .......... return x; } И...

Работа статического метода при многопоточности? - C#
Всем привет, начал изучать потоки. Автор курса, который я прохожу, привел пример работы с статическими методами при многопоточности - где...

Ссылка на объект для не статического метода. - C#
using opn; List<one_unit> flst = new List<one_unit>(); List<one_unit> slst = new List<one_unit>(); ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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