Static member accessed via instance reference что это

Статический член доступен через ссылку на экземпляр (с помощью ключевого слова this)

В андроид студии я пытаюсь установить strokeWidth с помощью setStrokeWidth.
Но я получаю предупреждение статический член ‘com.example.ud.RoundCapGraph.strokeWidth’, доступ к которому осуществляется через ссылку на экземпляр

Вопрос: создает ли ключевое слово this новый экземпляр и получает доступ к переменной через новый экземпляр?

РЕДАКТИРОВАНИЕ: мне не нужно устанавливать статическую переменную strokeWidth, но я хочу понять, почему при использовании ключевого слова this генерируется конкретное предупреждение.

3 ответа

Ключевое слово this не создает новый экземпляр, но this. обычно используется для доступа к переменным экземпляра.

Лучший способ получить доступ к переменной static :

Когда вы получаете доступ к статическому члену, используя экземпляр объекта, экземпляр получает замену на Class. т.е. this.strokeWidth будет заменен на RoundCapGraph.strokeWidth

NullPointerException не будет из-за замены экземпляра.

Я нашел ссылку на это в Спецификация Java: Глава 15, Раздел 11: Выражения доступа к полю.

Пример 15.11.1-2. Переменная получателя не имеет значения для статического доступа к полю

Следующая программа демонстрирует, что нулевая ссылка может использоваться для доступа к переменной (статической) класса, не вызывая исключения

Правильно, статические члены принадлежат классу, а не экземпляру.

Источник

Static member accessed via instance reference что это

Бывалый
Static member accessed via instance reference что это. pip. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-pip. картинка Static member accessed via instance reference что это. картинка pip

Профиль
Группа: Участник
Сообщений: 210
Регистрация: 10.7.2003
Где: Санкт-Петербург

Репутация: нет
Всего: 2

Все работает но строка

Код
labelValueSale.setText(sPokupCenaProd.valueOf(fPokupCenaProd));

выделена и если навестись на нее написано
static member «java.lang.string.valueOf(float)» accessed via instance reference

что оно такое имеет ввиду? JDK1.5
вот кусок кода

Код
public void buttonOk_actionPerformed(ActionEvent e) <
float fPokupCenaProd=0;
String sPokupCenaProd=»»;
for (int i = 0; i

Эксперт
Static member accessed via instance reference что это. pip. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-pip. картинка Static member accessed via instance reference что это. картинка pipStatic member accessed via instance reference что это. pip. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-pip. картинка Static member accessed via instance reference что это. картинка pipStatic member accessed via instance reference что это. pip. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-pip. картинка Static member accessed via instance reference что это. картинка pipStatic member accessed via instance reference что это. pip. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-pip. картинка Static member accessed via instance reference что это. картинка pip

Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 49
Всего: 171

Код
labelValueSale.setText(sPokupCenaProd.valueOf(fPokupCenaProd));

я нe понял, a что ты хочешь сделать в скобках?

Account removed
Static member accessed via instance reference что это. pip. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-pip. картинка Static member accessed via instance reference что это. картинка pipStatic member accessed via instance reference что это. pip. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-pip. картинка Static member accessed via instance reference что это. картинка pipStatic member accessed via instance reference что это. pip. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-pip. картинка Static member accessed via instance reference что это. картинка pip

Профиль
Группа: Экс. модератор
Сообщений: 1611
Регистрация: 14.8.2002

Репутация: 8
Всего: 48

Бывалый
Static member accessed via instance reference что это. pip. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-pip. картинка Static member accessed via instance reference что это. картинка pip

Профиль
Группа: Участник
Сообщений: 210
Регистрация: 10.7.2003
Где: Санкт-Петербург

Репутация: нет
Всего: 2

Static member accessed via instance reference что это. p pm on. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-p pm on. картинка Static member accessed via instance reference что это. картинка p pm on Static member accessed via instance reference что это. p email on. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-p email on. картинка Static member accessed via instance reference что это. картинка p email on Static member accessed via instance reference что это. p www on. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-p www on. картинка Static member accessed via instance reference что это. картинка p www on Static member accessed via instance reference что это. p im on. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-p im on. картинка Static member accessed via instance reference что это. картинка p im on Static member accessed via instance reference что это. p icq on. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-p icq on. картинка Static member accessed via instance reference что это. картинка p icq on Static member accessed via instance reference что это. p aim on. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-p aim on. картинка Static member accessed via instance reference что это. картинка p aim on Static member accessed via instance reference что это. p yim on. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-p yim on. картинка Static member accessed via instance reference что это. картинка p yim on Static member accessed via instance reference что это. p msn on. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-p msn on. картинка Static member accessed via instance reference что это. картинка p msn on Static member accessed via instance reference что это. p skype on. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-p skype on. картинка Static member accessed via instance reference что это. картинка p skype on Static member accessed via instance reference что это. p gtalk on. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-p gtalk on. картинка Static member accessed via instance reference что это. картинка p gtalk on Static member accessed via instance reference что это. p jabber on. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-p jabber on. картинка Static member accessed via instance reference что это. картинка p jabber on Static member accessed via instance reference что это. p report on. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-p report on. картинка Static member accessed via instance reference что это. картинка p report on Static member accessed via instance reference что это. p delete on. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-p delete on. картинка Static member accessed via instance reference что это. картинка p delete on Static member accessed via instance reference что это. p edit on. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-p edit on. картинка Static member accessed via instance reference что это. картинка p edit on Static member accessed via instance reference что это. p quick quote on. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-p quick quote on. картинка Static member accessed via instance reference что это. картинка p quick quote on Static member accessed via instance reference что это. p quote on. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-p quote on. картинка Static member accessed via instance reference что это. картинка p quote on Static member accessed via instance reference что это. p show on. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-p show on. картинка Static member accessed via instance reference что это. картинка p show on Static member accessed via instance reference что это. p hide on. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-p hide on. картинка Static member accessed via instance reference что это. картинка p hide on Static member accessed via instance reference что это. p tofaq on. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-p tofaq on. картинка Static member accessed via instance reference что это. картинка p tofaq on

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »

[ Время генерации скрипта: 0.0983 ] [ Использовано запросов: 21 ] [ GZIP включён ]

Источник

Best solution for static member being accessed by instance reference

I have this method in nearly all my classes.

Accessing this static method in a helper class

I am getting lint warning of «static member being accessed by instance reference». I don’t know how to not use «this» here. So I have two options.

1) Ignore the lint warning

2) Drop the «static» in my helper method.

Which is better? Or propose a third solution.

Static member accessed via instance reference что это. ZfRlE. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-ZfRlE. картинка Static member accessed via instance reference что это. картинка ZfRlE

4 Answers 4

The warning is saying that you’re calling a static method showInfoDialog through an instance materialHelper instead of through the class MaterialHelper itself. This is «bad» because it suggests the method is actually an instance method that depends on some state in the instance.

The solution is to replace

everywhere in your code with

Replace materialHelper with the class name where showInfoDialog() resides. From your description, materialHelper is an instance of this class.

Static member accessed via instance reference что это. wDnd8. Static member accessed via instance reference что это фото. Static member accessed via instance reference что это-wDnd8. картинка Static member accessed via instance reference что это. картинка wDnd8

this method showInfoDialog(MainActivity.this, iv, title, text); is ‘static method’

It means: this method is shared for all instances of this class (static variable too). It really doesn’t matter where it was called. That’s why lint says: «oh gosh, why do you call this static method using this instance? It might change shared values in the other instances! Be careful!». Java will understand your code but this is a small mistake (your misunderstooding). That’s why the correct solution is to use this:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *