Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
Gepar
1181 / 537 / 77
Регистрация: 01.07.2009
Сообщений: 3,517
1

Инициализация static переменных

04.10.2012, 11:49. Просмотров 1228. Ответов 1
Метки нет (Все метки)

Есть код
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class UseStatic
{
    static int a = 3;
    static int b;
    
    static void meth(int x)
    {
        System.out.println("x = "+x);
        System.out.println("a = "+a);
        System.out.println("b = "+b);
    }
    
    static
    {
        System.out.println("Статический блок инициализирован.");
        b=a*4;
    }
}
 
public class JavaApplication1 {
    public static void main(String[] args) {
        UseStatic.meth(42);
    }
}
Вопрос: что именно описано в 13ой строке? Это статический конструктор так в java описывается или это что-то другое? И какой уровень доступа у этой функции, когда именно она вызывается и имеет ли она доступ к static переменным вне её? Ну допустим если описать другой класс со static переменными, будет ли к ней доступ из функции из 13ой строки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2012, 11:49
Ответы с готовыми решениями:

Инициализация переменных
Я новичок в Java, хочу проверить что поля в Java инициализируются по умолчанию....

Инициализация обычных статических переменных
Добрый вечер. Читаю небезызвестную философию джава. В одной из глав есть пример...

Инициализация переменных в операторе Switch
Почему компилятор ругается на дубликат локальной переменной, ведь...

ООП(зачем нужна инициализация переменных в конструкторе Box)
package pkg1; public class Main { public static void main(String args) {...

Ошибка: non-static variable this cannot be referenced from a static context
Добрый вечер! Не пинайте сильно ногами, недавно решил взяться за обучение...

1
turbanoff
Эксперт Java
4018 / 3753 / 741
Регистрация: 18.05.2010
Сообщений: 9,329
Записей в блоге: 11
Завершенные тесты: 1
04.10.2012, 12:42 2
Блок статической инициализации. Выполняется при загрузке класса.
Цитата Сообщение от Gepar Посмотреть сообщение
И какой уровень доступа у этой функции
Это не функция, и говорить об уровне доступа бессмысленно.
Цитата Сообщение от Gepar Посмотреть сообщение
имеет ли она доступ к static переменным вне её?
К статик полям - имеет. Она обычно служит для того, чтобы их инициализировать.

Добавлено через 21 секунду
Цитата Сообщение от Gepar Посмотреть сообщение
Ну допустим если описать другой класс со static переменными, будет ли к ней доступ из функции из 13ой строки.
да, будет.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2012, 12:42

Ошибка “non-static method cannot be referenced from a static context”
Проблема в том, что в одном классе он просто сделать методы static, а в другом...

Non-Static method cannot be referenced from a static context
Всем привет! Не могу никак разобраться со статическими и нестатическими...

Non static method cannot be referenced from static
на 12й строчке выдает такую ошибку и я правда не знаю почему package...


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

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

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