package com.javarush.task.task05.task0510;
/*
Кошкоинициация
*/
public class Cat {
String name = null;
String address = null;
String color = "red";
int age = 9;
int weight = 6;
public void initialize(String name){
this.name = name;
this.color = "white";
this.age = 8;
this.weight = 6;
}
public void initialize(int age, int weight, String name){
this.name = name;
this.age = age;
this.weight = weight;
this.color = "black";
}
public void initialize(int age, String name){
this.weight = 20;
this.name = name;
this.age = age;
this.color = "black";
}
public void initialize(int weight, String color){
this.color = color;
this.weight = weight;
this.age = 8;
}
public void initialize(int weight, String color, String address){
this.weight = weight;
this.address = address;
this.color = color;
this.age = 7;
}
public static void main(String[] args) {
}
}
Вылазит ошибка: method initialize(int,java.lang.String) is already defined in class com.javarush.task.task05.task0510.Cat:
Cat.java, line: 34, column: 17ReaLMaX
11 уровень
помогите!
Архивный
Комментарии (9)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
ReaLMaX
24 января 2018, 18:32
так как исправить???
0
Roman Pryshchepa Java Developer Expert
25 января 2018, 10:09
Почитай тут про перегрузку методов.
Java, как и многие языки программирования, разрешает создавать внутри одно класса несколько методов с одним именем. Главное, чтобы у них различались параметры. Параметры могут различаться типами или количеством аргументов. Будьте внимательны, если вы зададите различные типы для возвращаемого значения, то этого будет недостаточно для создания перегруженной версии метода. Когда Java встречает вызов перегруженного метода, то выбирает ту версию, параметры которой соответствуют аргументам, использованным в вызове.
+2
Maria
20 марта 2018, 15:05
Данная лекция закрыта.
У меня такая же проблема. Подскажите как исправить.
0
Roman Pryshchepa Java Developer Expert
20 марта 2018, 15:16
Что за проблема? Можешь создать отдельный вопрос со своей проблемой.
Каким образом видно, что лекция закрыта?
0
Maria
20 марта 2018, 15:27
Данная лекция из Java Core.
А у нас курс на Java Sytex
0
Roman Pryshchepa Java Developer Expert
20 марта 2018, 15:40
Извиняюсь, обновил свой пост.
+1
Maria
20 марта 2018, 15:45
Спасибо :)
Вы очень добры )))
С этой проблемой я разобралась и поняла ее, благодаря это лекции.
0
Andrey Morozov
24 января 2018, 18:25решение
У тебя 2 метода initialize с одинаковыми входными параметрами int и String
initialize(int age, String name)
initialize(int weight, String color)
+3
Rinat
24 января 2018, 18:03
я думаю, что в предпоследнем блоке инициализируется тот набор полей, который уже проинициализирован при объявлении этих полей, попробуй убрать присвоение age наверху
0