Поясните за аргумент CanFly speed а то что то я не могу понять почему так написать нужно
package com.javarush.task.task13.task1309;
/*
Всё, что движется
*/
public class Solution {
public static void main(String[] args) throws Exception {
}
interface CanMove {
public Double speed();
}
interface CanFly extends CanMove {
public Double speed(CanFly speed);
}
}
Alexander Ponomarev
17 уровень
Аргумент
Решен
Комментарии (7)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
JustinianJudge в Mega City OneMaster
22 октября 2019, 13:09
В условии сказано:
А как бы ты написал по другому?
0
Alexander Ponomarev
22 октября 2019, 13:18
public Double speed(CanFly); я не понимаю с чего вообще нужно написать там speed
0
JustinianJudge в Mega City OneMaster
22 октября 2019, 13:21

+1
JustinianJudge в Mega City OneMaster
22 октября 2019, 13:21
сборсил картинку с сигнатурой метода. В джава не существует конструкции:
модификаторы доступа имя метода (имя класса)
как ты предлагаешь, нигде в лекциях ты такое не видел, и никогда такое не мог писать - компилятор бы не принял.
0
Alexander Ponomarev
22 октября 2019, 14:14
слушай а может быть в задании просто имеются два разных speed? тогда все понятно становиться, но объявление почему тогда не CanFly.speed?
0
JustinianJudge в Mega City OneMaster
22 октября 2019, 14:27решение
можно так
можно так
можно так
и тд
Причем в реализации будет:
Имя переменной может быть любым, и это имя никак не связано с другими именами.
На вход подается определенный объект типа СanFly без имени, просто объект, создается ссылочная переменная этого типа CanFly и ей дается то имя, которое ты придумаешь, оно никак не связано с другими именами, и действует только в пределах метода.
Ты смотрел картинку, которую я бросал? Посмотри ее внимательно как объявляется метод
имяМетода(ТипПеременной имяПеременной);
может тебя смутило то, что имя переменной совпадает с именем метода, но это случайность.
+6
Alexander Ponomarev
22 октября 2019, 20:11
Да, смутило )) Спасибо за объяснение
0