Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Позднее/раннее связывание / 3 сообщений из 3, страница 1 из 1
17.10.2013, 14:02:48
    #38431229
SkyFire
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Позднее/раннее связывание
Кто может доходчиво объяснить почему выводится null? Или ссылку на doc.
На сколько я помню в java используется позднее статическое связывание.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
public class Test {
    public static void main(String[] args) {
        B b = new B();
        b.foo();
    }
}

class A {
    public String v;

    public void foo() {
        System.out.println(v);
    }
}

class B extends A {
    public String v = "abs";

}
...
Рейтинг: 0 / 0
17.10.2013, 14:03:12
    #38431232
SkyFire
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Позднее/раннее связывание
позднее статическое связывание
...
Рейтинг: 0 / 0
17.10.2013, 14:19:29
    #38431287
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Позднее/раннее связывание
позднее связывание тут вообще не при делах.
((A)b).v это одно поле.
((B)b).v это другое поле.
У одного поля значение null.
У другого - "abs".
Поля не бывают "виртуальными", в отличии от методов.
http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Позднее/раннее связывание / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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