powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / значение по умолчанию
9 сообщений из 9, страница 1 из 1
значение по умолчанию
    #38043319
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот есть такой код. Объясните, в какой момент времени id =7 ?
Код: 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.
25.
26.
package department;

/**
 *
 * @author redwhite
 */
public class Department { 
    { System.out.println("logic (1) id=" + this.id); } 
    static { System.out.println("static logic"); } 
    private int id = 7;
    public Department(int d) { 
        System.out.println("конструктор id=" + id);
        id = d; 
        System.out.println("конструктор id=" + id);
    } 
    int getId() 
    { 
        return id; 
    } 
    { id = 10; System.out.println("logic (2) id=" + id); } 
    public static void main(String [] args)
    {
        Department obj = new Department(71); 
        System.out.println("значение id=" + obj.getId());
    }
}
...
Рейтинг: 0 / 0
значение по умолчанию
    #38043333
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это пазлер для проверки форумчан? Или что-то не понятно?
...
Рейтинг: 0 / 0
значение по умолчанию
    #38043354
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
i=7 сразу после присвоения:):):)
...
Рейтинг: 0 / 0
значение по умолчанию
    #38043372
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
просто судя по выводу id никогда 7 не равно:
static logic
logic (1) id=0
logic (2) id=10
конструктор id=10
конструктор id=71
значение id=71

в какой момент происходит присвоение семерке?
...
Рейтинг: 0 / 0
значение по умолчанию
    #38043373
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,
не понятно
...
Рейтинг: 0 / 0
значение по умолчанию
    #38043396
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90Blazkowicz,
не понятно
Строка
{ id = 10; System.out.println("logic (2) id=" + id); }
...
Рейтинг: 0 / 0
значение по умолчанию
    #38043398
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
25.
26.
27.
28.
[quot redwhite90]Blazkowicz,
не понятно[/quot]
Строка
{ id = 10; System.out.println("logic (2) id=" + id); } 
выполняется до конструктора, но после 
private int id = 7;


public class Department { 
    { System.out.println("logic (1) id=" + this.id); }  //3
    static { System.out.println("static logic"); }   //1
    private int id = 7; //4
    public Department(int d) { 
        System.out.println("конструктор id=" + id); //6
        id = d;                                                   //7
        System.out.println("конструктор id=" + id);  //8
    } 
    int getId() 
    { 
        return id; 
    } 
    { id = 10; System.out.println("logic (2) id=" + id); } //5
    public static void main(String [] args)
    {
        Department obj = new Department(71); //2
        System.out.println("значение id=" + obj.getId()); //9
    }
}
...
Рейтинг: 0 / 0
значение по умолчанию
    #38043433
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо, теперь понял последовательность выполнения программы.
...
Рейтинг: 0 / 0
значение по умолчанию
    #38043462
yaCooler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рекомендую "Философия Java" Брюс Эккель, там всё это описано отлично :)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / значение по умолчанию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]