Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для Сиггрид
48 / 35 / 16
Регистрация: 19.11.2010
Сообщений: 107

Приведение типов

17.02.2020, 14:58. Показов 375. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Помогите разобраться, возник глупый вопрос по этому заданию:
что выводит этот код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class SomeClass {
                    public static void main(String[] args) {
                        SomeClass c = new SomeChild1();
                        ((SomeClass)c).print();
                        ((SomeChild1)c).print();
                        ((SomeChild2)c).print();
                    }
                    public void print() {
                        System.out.println("SomeClass");
                    }
                }
                class SomeChild1 extends SomeClass {
                    public void print() {
                        System.out.println("SomeChild1");
                    }
                }
                class SomeChild2 extends SomeClass {
                    public void print() {
                        System.out.println("SomeChild2");
                    }
                }
Правильный ответ:
SomeChild1
SomeChild1
и сообщение об ошибке

Но я не могу понять, почему так. Ведь изначально создается объект класса SomeChild1 и автоматически расширяется в SomeClass, а потом он приводится к (SomeClass), то есть тождественное преобразование, при этом у класса SomeClass есть свой метод print, почему он печатает в первой строке SomeChild1?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.02.2020, 14:58
Ответы с готовыми решениями:

Приведение типов
У меня есть задача - записывать MAC адрес формата IPv4 в безбуквенной форме. Я нашел пример преобразования в ненужную мне сторону - из...

Приведение типов!
Всем привет, наткнулся я на такое высказывание в книге Сьерра К, Бейтс Б. (стр.259) Ссылочная переменная типа Object не может...

Приведение типов object
Есть класс class Class<T> Надо сделать приведение типов из Object в Class<T>. Object obj; Class<T> c = (Class<T>) obj; ...

2
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
17.02.2020, 16:15
прочитай про полиморфизм
0
 Аватар для Сиггрид
48 / 35 / 16
Регистрация: 19.11.2010
Сообщений: 107
17.02.2020, 17:10  [ТС]
Благодарю! Всё встало на свои места.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.02.2020, 17:10
Помогаю со студенческими работами здесь

Каковы три случая, когда надо явно указывать приведение примитивных типов в Java?
Моя наставница по Java после проверки того, насколько хорошо я усвоил материал, сказала, что у меня проблемы с пониманием приведением...

Не требуется приведение типов при умножении типов Byte
Читал тут книгу(Г. Шилдт, "Полный справочник по C#"), и нашел такое (ст. 77) Поскольку при умножении, например, 2 чисел типа byte,...

Приведение типов сырых типов
class Gen<T> { T ob Gen(T o) { ob=o; } T getob(){ return ob; } public class RawDemo {

Приведение типов
Здравствуйте! Я только начал работать с Qt (Среда Qt Creator) и столкнулся с проблемой. У меня есть класс(class Monkey_), и три...

Приведение типов
Есть ли какая-нибудь разница в следующих выражениях: float a = 123.4f и float a = (float)123.4


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru