powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос по наследованию
4 сообщений из 4, страница 1 из 1
вопрос по наследованию
    #38356991
NDAleksey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго всем дня! Читаю "Философию Явы", уже дошел до поликонструкторов, но вопрос возник совсем откуда не ждал:
Код: 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.
29.
30.
class Parent
{
	String str = "Parent";
	
	void show()
	{
		System.out.println( str );
	}
}

class Child extends Parent
{
	String str = "Child";
	
	void show()
	{
		System.out.println( str );
	}
}

public class Test2
{
	public static void main( String[] args )
	{
		Parent parent = new Child();
		
		System.out.println( parent.str );
		parent.show();
	}
}



почему в результате:
Parent и Child
, а не
Child и Child ?
...
Рейтинг: 0 / 0
вопрос по наследованию
    #38357082
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Потому что полиморфизм относится только к методам объекта. А привязка к полям и к статическим методам происходит на этапе компиляции. Объявили переменную типа Parent - компилятор и видит Parent.str. Это из-за того, что в основе полиморфизма - виртуальная таблица методов, в которую адреса переменных и статических методов не попадают.
Можно получить доступ и к полям наследника, но для этого надо явно кастовать объект.
...
Рейтинг: 0 / 0
вопрос по наследованию
    #38357094
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
вопрос по наследованию
    #38359214
NDAleksey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker, ivanra

спасибо большое! очень помогло!
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос по наследованию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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