С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/34: Рейтинг темы: голосов - 34, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 05.02.2012
Сообщений: 13

Задача: Переопределение Методов (основы Java)

19.06.2014, 10:18. Показов 7722. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача : Как решить?
Переопределение Методов

Наш класс "Fish" был унаследован из класса "Pet", у которого
есть метод "say()". Это значит, что вы беспрепятственно можете написать
что-то в этом роде: "myFish.say();"
Чтобы избежать этого, в классе "Fish"
нужно переопределить (override) метод "say()", объявленный в классе "Pet".
Это работает так: если вы объявляете в под-классе метод имеющий точно
такой-же заголовок как в его-же супер-классе, Java выполнит метод под-
класса, вместо метода супер-класса. Давайте добавим к классу "Fish" метод "say()."

Java
1
2
3
public String say(String something){ 
return "Ты чё не знаешь, что рыбы не разговаривают? "; 
}
А теперь вызовем метод "say()" из метода "main()" класса "FishMaster":

Java
1
myFish.say("Привет");
Далее программа в которой нужно произвести выше написанное. До меня не доходит как. я пишу а прога не работает. IDE ругаетса на ошибки в коде!!! ПОМОГИТЕ РЕШИТЬ ПЛИЗ!!!
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Pet {
int возраст;
float вес;
float рост;
String цвет;
public void sleep(){
System.out.println("Спокойной Ночи! До завтра");
}
public void eat() { System.out.println("Я очень голоден, давайте перекусим чипсами! ");
}
public String say(String aWord) {
String petResponse = "Ну ладно! ! " +aWord;
return petResponse;
}
}
Java
1
2
3
4
5
6
7
8
9
10
public class PetMaster {
public static void main(String[] args) {
String petReaction;
Pet myPet = new Pet();
myPet.eat();
petReaction = myPet.say("Чик! ! Чирик!! ");
System.out.println(petReaction);
myPet.sleep();
}
}
Java
1
2
3
4
5
6
7
8
9
public class Fish extends Pet {
int currentDepth=0;
public int dave(int howDeep){
currentDepth=currentDepth + howDeep;
System.out.println("Ныряю на глубину " + howDeep + " Метра");
System.out.println("я на глубине " + currentDepth + " метров от поверхности");
return currentDepth;
}
}
Java
1
2
3
4
5
6
7
8
9
public class FishMaster {
public static void main(String[] args) {
Fish myFish = new Fish();
myFish.dave(2);
myFish.dave(3);
myFish.sleep();
myFish.say("Привет");
}
}
Добавлено через 2 часа 30 минут
благодарю за ответ. очень содержательно. Только и слышу ДА Я! ДаЯ! программер. а по делу посмотрело 16 человек и ноль эмоций!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.06.2014, 10:18
Ответы с готовыми решениями:

Зачем в Java нужно переопределение методов интерфейса?
Например, есть 2 интерфейса: DataOutput и ObjectOutput. ObjectOutout наследует DataOutput, и "переопределяет" некоторые методы, в...

Переопределение методов
Здравствуйте. Изучать джаву начал неделю назад по книге "Файн Я. - Программирование на Java для детей, родителей, дедушек и бабушек -...

Переопределение методов
Есть два метода, в которых одинаковое количество и тип аргументов, делают они почти одно и тоже, за исключением одной строки. Как сделать...

16
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
19.06.2014, 10:34
Цитата Сообщение от kino-man Посмотреть сообщение
я пишу а прога не работает. IDE ругаетса на ошибки в коде!
Ваш вопрос звучит как
"Что-то не работает, помогите!!!"

Какая конкретно ошибка?
1
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
19.06.2014, 10:36
Цитата Сообщение от kino-man Посмотреть сообщение
благодарю за ответ. очень содержательно. Только и слышу ДА Я! ДаЯ! программер. а по делу посмотрело 16 человек и ноль эмоций!
дерзкий нуб, научись формулировать вопросы так, что бы их понимали другие люди, а не только ты и твой воображаемый друг
0
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
19.06.2014, 10:42
Задача : Как решить?
Переопределение Методов
Чтобы избежать этого, в классе "Fish"
нужно переопределить (override) метод "say()"
Так переопределите, в чем проблема?

IDE ругаетса на ошибки в коде!!!
Очень информативно.

Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Fish extends Pet {
    int currentDepth=0;
    public int dave(int howDeep){
        currentDepth=currentDepth + howDeep;
        System.out.println("Ныряю на глубину " + howDeep + " Метра");
        System.out.println("я на глубине " + currentDepth + " метров от поверхности");
        return currentDepth;
    }
 
    @Override
    public String say(String aWord) {
        return "Молчу как рыба в воде";
    }
}


благодарю за ответ. очень содержательно. Только и слышу ДА Я! ДаЯ! программер. а по делу посмотрело 16 человек и ноль эмоций!
А с чего вы взяли что вам тут кто то обязан отвечать? Тем более, что вы даже не потрудились нормально оформить пост с вопросом.
1
0 / 0 / 0
Регистрация: 05.02.2012
Сообщений: 13
19.06.2014, 10:53  [ТС]
Прошу прошения, теперь вижу свою вену. думал понятно написал. проблема вот в чем.

если не понятно выразился опять прошу скажите. я только начил осваивать программирование.

кстати что писать @ - в книге не сказано.
0
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
19.06.2014, 10:53
kino-man, покажите еще, что у вас в классе Pet написано
1
0 / 0 / 0
Регистрация: 05.02.2012
Сообщений: 13
19.06.2014, 10:56  [ТС]
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
Ваш вопрос звучит как
"Что-то не работает, помогите!!!"
Какая конкретно ошибка?
проблема в том что после того как все написал, автор книги просит запустить программу - но она не запускаетса а в классе fish - показывает ошибки в тех строках что доны в задании.

Добавлено через 1 минуту
Цитата Сообщение от reisal78 Посмотреть сообщение
покажите еще, что у вас в классе Pet написано
вот



Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Pet {
    int возрост;
    float вес;
    float рост;
    String цвет;
 
    public void sleep(){
        System.out.println("Спокойной Ночи! До завтра");
    }
    
    public void eat() { System.out.println("Я очень голоден, давайте перекусим чипсами!");
    
    }
    public String say(String aWord) {
        String petResponse = "Ну ладно!! " +aWord;
        return petResponse;
    }
}
0
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
19.06.2014, 11:00
kino-man, на скрине не видно в классе Fish все фигурные скобки в конце на месте?
1
0 / 0 / 0
Регистрация: 05.02.2012
Сообщений: 13
19.06.2014, 11:01  [ТС]
Цитата Сообщение от reisal78 Посмотреть сообщение
на скрине не видно в классе Fish все фигурные скобки в конце на месте?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Fish extends Pet {
    int currentDepth=0;
    public int dave(int howDeep){
        currentDepth=currentDepth + howDeep;
        System.out.println("Ныряю на глубину " + howDeep + " Метра");
        System.out.println("яна глубине " + currentDepth + " метров от поверхности");
        return currentDepth;
    
        }
    
    @Override
    public String say(String aWord) {
        return "Молчу как рыба в воде";
 
}
}
0
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
19.06.2014, 11:18
В коде я не вижу ошибок, должно работать...

Покажите структуру проекта, возможно там косяк

Добавлено через 5 минут
kino-man, кстати, если вы ожидаете что при таком коде класс Fish должен вам вывести "молчу как рыба в воде", то вы ошибаетесь... у вас не доделан для этого класс FishMaster
1
0 / 0 / 0
Регистрация: 05.02.2012
Сообщений: 13
19.06.2014, 11:28  [ТС]
Цитата Сообщение от reisal78 Посмотреть сообщение
Покажите структуру проекта, возможно там косяк
подскажите где посмотреть структуру проекта?
после попытки старта программы выдает
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Syntax error, annotations are only available if source level is 1.5 or greater

at Fish.<init>(Fish.java:12)
at FishMaster.main(FishMaster.java:5)
делаю все как просит автор книги. все прекрасно шло до 60й страницы. и вот уже почти сутки не могу разобраться в чем причина.

Добавлено через 5 минут
Цитата Сообщение от reisal78 Посмотреть сообщение
кстати, если вы ожидаете что при таком коде класс Fish должен вам вывести "молчу как рыба в воде", то вы ошибаетесь... у вас не доделан для этого класс FishMaster
да жду. автор книги говорит должно появиться. а что доделать нужно в FishMaster?

Добавлено через 2 минуты
видимо книгу не очень корректно перевели.
0
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
19.06.2014, 11:35
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Syntax error, annotations are only available if source level is 1.5 or greater
Я не работал с эклипсом... у вас либо проблема с настройкой IDE. Либо установлена старая JDK...
По идее должно помочь если вы удалите @Override (это не обязательная вещь) - но это решение только конкретной проблемы, если вы не разберетесь тем что я написал выше вы и дальше будете сталкиваться с трудностями.

а что доделать нужно в FishMaster?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class FishMaster {
    public static void main(String[] args) {
        Fish myFish = new Fish();
 
        myFish.dave(2);
        myFish.dave(3);
        myFish.sleep();
        String fishReaction;
        fishReaction = myFish.say("Привет");
        System.out.println(fishReaction);
        
    }
}
Добавлено через 1 минуту
видимо книгу не очень корректно перевели.
нет, проблема у вас...
1
0 / 0 / 0
Регистрация: 05.02.2012
Сообщений: 13
19.06.2014, 11:42  [ТС]
Цитата Сообщение от reisal78 Посмотреть сообщение
это решение только конкретной проблемы
спасибо что уделили свое время на мою проблему.
Цитата Сообщение от reisal78 Посмотреть сообщение
если вы не разберетесь тем что я написал выше вы и дальше будете сталкиваться с трудностями.
видимо да. все, что я знаю о программировании уместилось в 60 страниц книги, и 2 дня чтения этих страничек. спасибо.
0
44 / 44 / 37
Регистрация: 11.12.2012
Сообщений: 200
Записей в блоге: 2
19.06.2014, 16:18
kino-man, скиньте условие задачи, может проще будет решить самим. Ну или в ЛС, для практики в самый раз.
0
16 / 16 / 10
Регистрация: 17.03.2014
Сообщений: 59
20.06.2014, 11:54
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class PetMaster {
    public static void main(String[] args) {
        String petReaction;
        Pet myPet = new Pet();
        myPet.eat();
        petReaction = myPet.say("Чик! ! Чирик!! ");
        System.out.println(petReaction);
        myPet.sleep();
        Fish myFish = new Fish();
        myFish.dave(2);
        myFish.dave(3);
        myFish.sleep();
        myFish.say("Привет");
        System.out.println(myFish.say("Привет"));
    }
}
В проекте должен быть только 1 метод main.
Судя по коду ты учишь по плохой книге. Скачай Хорстмана и начни учить с начала а то этот говнокод никуда не годится.
0
0 / 0 / 0
Регистрация: 06.09.2022
Сообщений: 2
06.09.2022, 21:12
Вроде так как-то
Вложения, ожидающие проверки
Тип файла: png 2022-09-06_21-06-38.png
Тип файла: png 2022-09-06_21-07-21.png
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
06.09.2022, 21:40
Цитата Сообщение от Lissynsin Посмотреть сообщение
Вроде так как-то
как думаешь, достаточно ли человеку 8 лет, чтобы разобраться со своей проблемой?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.09.2022, 21:40
Помогаю со студенческими работами здесь

Переопределение методов
Помогите переопределить метод boolean equals ,hashCode() , toString() ? public class FileLab { private String name; ...

Переопределение методов в интерфейсе
Ребята подскажите пожалуйста, хочу разобраться. Проблема состоит в том, что у меня не получается переопределить методы которые прописаны в...

Переопределение абстрактных методов
Добрый день! Вопрос следующий: в подклассе необходимо переопределить абстрактный метод суперкласса, нужно сменить модификатор доступа с...

Переопределение методов, суперкласс, подкласс
package MyPack; class CorTriangle { double side; CorTriangle(double s) { side=s; } ...

Переопределение методов equals() и hashCode()
Дорогие форумчане, подскажите пожалуйста, как мне переопределить эти методы для моего класса? public class MyCollection implements...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru