Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
802 / 52 / 2
Регистрация: 01.12.2012
Сообщений: 227
1

Два конструктора из одного класса

04.11.2015, 21:04. Показов 3712. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Только начал изучать Java. Подтолкните к ответу. Один конструктор принимает имя и фамилию. Второй конструктор принимает имя, фамилию, должность и жалование. Как прописать эти два конструктора? Может следует копать в конструкторы с параметрами? Вот так выглядит класс:
Java
1
2
3
4
5
6
public class  Employee { 
    String Dolznost ="Инженер";
    String Imya = "Убор";
    String Familiya ="щик";
    int Jalovanie = 30000;
 }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.11.2015, 21:04
Ответы с готовыми решениями:

Два объекта одного класса
пытаюсь понять OpenGl es 2 для этого использую пример ...

Два конструктора для класса-наследника
Класс B является наследником класса A. Для класса B нужно определить 2 конструктора: один -...

Как передать параметры конструктора одного класса другому?
Скажите пожалуйста, как это должно работать? Как передать параметры конструктора одного класса...

Есть два класса необходимо передать из одного класса информацию в другую
Есть два класса, class entiti { public: test* emap; }; class test { public:

19
528 / 431 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
04.11.2015, 21:07 2
Цитата Сообщение от pesik Посмотреть сообщение
Может следует копать в конструкторы с параметрами?
Да. А потом в вызов одного конструктора из другого.
1
802 / 52 / 2
Регистрация: 01.12.2012
Сообщений: 227
04.11.2015, 22:19  [ТС] 3
Цитата Сообщение от Velesthau Посмотреть сообщение
Да. А потом в вызов одного конструктора из другого.
Спасибо

Добавлено через 23 минуты
Velesthau,
Это выглядит примерно так?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class  Employee { 
    String Dolznost ="Инженер";
    String Imya = "Убор";
    String Familiya ="щик";
    int Jalovanie = 30000;
 
     public Employee (String a, String b){
         this.Imya = a;
         this.Familiya = b; 
     }
     
     public Employee (String a, String b, String c, int d) {
         this(a,b);  
         this.Dolznost = c;
         this.Jalovanie = d;
     }
0
95 / 95 / 50
Регистрация: 07.07.2015
Сообщений: 208
04.11.2015, 22:28 4
ага,
имена переменных с маленькой буквы пиши, a b c d замени на нормальные имена, инициализацию по умолчанию лучше убрать, все равно ж через конструктор значения присваиваешь...
ну а вообще,
имплементируй Serializable например, добавь private модификаторы к полям, сделай геттеры и сеттеры, добавь конструктор по умолчанию, toString(), equals(), hashcode() и получится нормальный обьект)

Добавлено через 2 минуты
DolznostImyaFamiliyaJalovanie - не надо так, открывай гугл транслэйт.
0
528 / 431 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
04.11.2015, 22:28 5
Цитата Сообщение от pesik Посмотреть сообщение
Velesthau,
Это выглядит примерно так?
Да, примерно так и выглядит.
0
802 / 52 / 2
Регистрация: 01.12.2012
Сообщений: 227
04.11.2015, 22:35  [ТС] 6
Цитата Сообщение от mocivan Посмотреть сообщение
имена переменных с маленькой буквы пиши
для удобства?
Цитата Сообщение от mocivan Посмотреть сообщение
инициализацию по умолчанию лучше убрать
в задании должность и жалование по умолчанию такие должны быть
Цитата Сообщение от mocivan Посмотреть сообщение
имплементируй Serializable например, добавь private модификаторы к полям, сделай геттеры и сеттеры, добавь конструктор по умолчанию, toString(), equals(), hashcode() и получится нормальный обьект)
некоторые понятия еще не слышал если честно) а зачем private?
0
95 / 95 / 50
Регистрация: 07.07.2015
Сообщений: 208
04.11.2015, 22:39 7
Цитата Сообщение от pesik Посмотреть сообщение
для удобства?
открывай java code conventions, поверь стоит прочитать.
Цитата Сообщение от pesik Посмотреть сообщение
в задании должность и жалование по умолчанию такие должны быть
ну так засунь их туда во время создания объекта.
Цитата Сообщение от pesik Посмотреть сообщение
а зачем private?
инкапсуляция-с, голубчик)
1
528 / 431 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
04.11.2015, 22:40 8
Цитата Сообщение от pesik Посмотреть сообщение
в задании должность и жалование по умолчанию такие должны быть
Тогда лучше перенести вызов конструктора в тот, в котором два параметра, а твои значения передавать конструктору с четырьмя параметрами.
1
95 / 95 / 50
Регистрация: 07.07.2015
Сообщений: 208
04.11.2015, 22:46 9
Цитата Сообщение от pesik Посмотреть сообщение
некоторые понятия еще не слышал если честно)
а ты генерируй все через IDE, кучу времени сэкономишь.

Добавлено через 5 минут
это пишется ручками:
Кликните здесь для просмотра всего текста

Java
1
2
3
4
5
6
7
public class Employee {
 
    private String position;
    private String firstName;
    private String lastName;
    private int salary;
}

остальное делает генератор))
0
802 / 52 / 2
Регистрация: 01.12.2012
Сообщений: 227
04.11.2015, 22:51  [ТС] 10
Цитата Сообщение от mocivan Посмотреть сообщение
а ты генерируй все через IDE, кучу времени сэкономишь.
я пишу через netbeans
Цитата Сообщение от mocivan Посмотреть сообщение
инкапсуляция-с, голубчик)
- это понятно) но что может случиться? прога маленькая, конфликтов быть не должно
0
95 / 95 / 50
Регистрация: 07.07.2015
Сообщений: 208
04.11.2015, 22:55 11
Цитата Сообщение от pesik Посмотреть сообщение
я пишу через netbeans
эт не принципиально. везде есть заветный хоткей для генерации конструкторов и методов.
Цитата Сообщение от pesik Посмотреть сообщение
но что может случиться?
ты привыкнешь коряво писать))
1
802 / 52 / 2
Регистрация: 01.12.2012
Сообщений: 227
04.11.2015, 23:00  [ТС] 12
Цитата Сообщение от mocivan Посмотреть сообщение
ты привыкнешь коряво писать))
xD резонно. мне еще нужно создать по два метода к каждому параметру. метод получения и метод изменения. метод получения это понятно System.out.print. а метод редактирования данных как выглядит?
0
95 / 95 / 50
Регистрация: 07.07.2015
Сообщений: 208
04.11.2015, 23:02 13
Цитата Сообщение от pesik Посмотреть сообщение
мне еще нужно создать по два метода к каждому параметру. метод получения и метод изменения
не посмотрел generate, да?
0
802 / 52 / 2
Регистрация: 01.12.2012
Сообщений: 227
04.11.2015, 23:07  [ТС] 14
Цитата Сообщение от mocivan Посмотреть сообщение
не посмотрел generate, да?
нет. это и есть метод редактирования?
0
95 / 95 / 50
Регистрация: 07.07.2015
Сообщений: 208
04.11.2015, 23:13 15
Цитата Сообщение от pesik Посмотреть сообщение
это и есть метод редактирования?
нет, это значить что я (в idea) жму alt+ins и выбираю подряд все, что мне необходимо.
например:
Кликните здесь для просмотра всего текста

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package ch10;
 
/**
 *
 */
public class Employee {
 
    private String position;
    private String firstName;
    private String lastName;
    private int salary;
 
    public Employee() {
    }
 
    public Employee(String firstName, String lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }
 
    public Employee(String firstName, String lastName, String position, int salary) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.position = position;
        this.salary = salary;
    }
 
    public String getFirstName() {
        return firstName;
    }
 
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
 
    public String getLastName() {
        return lastName;
    }
 
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
 
    public String getPosition() {
        return position;
    }
 
    public void setPosition(String position) {
        this.position = position;
    }
 
    public int getSalary() {
        return salary;
    }
 
    public void setSalary(int salary) {
        this.salary = salary;
    }
 
    @Override
    public String toString() {
        return "Employee{" +
                "firstName='" + firstName + '\'' +
                ", lastName='" + lastName + '\'' +
                ", position='" + position + '\'' +
                ", salary=" + salary +
                '}';
    }
 
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
 
        Employee employee = (Employee) o;
 
        if (salary != employee.salary) return false;
        if (position != null ? !position.equals(employee.position) : employee.position != null) return false;
        if (!firstName.equals(employee.firstName)) return false;
        return lastName.equals(employee.lastName);
 
    }
 
    @Override
    public int hashCode() {
        int result = position != null ? position.hashCode() : 0;
        result = 31 * result + firstName.hashCode();
        result = 31 * result + lastName.hashCode();
        result = 31 * result + salary;
        return result;
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package ch10;
 
/**
 *
 */
public class EmployeeDemo {
    public static void main(String[] args) {
        Employee employee = new Employee("Joe", "Doe");
        employee.setPosition("CEO");
        employee.setSalary(150000);
 
        System.out.println(employee);
    }
}
1
802 / 52 / 2
Регистрация: 01.12.2012
Сообщений: 227
04.11.2015, 23:19  [ТС] 16
Цитата Сообщение от mocivan Посмотреть сообщение
нет, это значить что я (в idea) жму alt+ins и выбираю подряд все, что мне необходимо.
ого xD я не знал. тут контекстное меню открывается. удобно, спасибо. мало я еще знаю об ide. до этого только скрипты на c# для unity писал в vs
0
95 / 95 / 50
Регистрация: 07.07.2015
Сообщений: 208
04.11.2015, 23:20 17
ну, вэлкам)
0
802 / 52 / 2
Регистрация: 01.12.2012
Сообщений: 227
04.11.2015, 23:23  [ТС] 18
Цитата Сообщение от mocivan Посмотреть сообщение
выбираю подряд все, что мне необходимо
это, конечно, классно, но знать бы еще для чего все эти методы) это будет подвергаться изучению

Добавлено через 32 секунды
Цитата Сообщение от mocivan Посмотреть сообщение
ну, вэлкам)
спасибо)
0
528 / 431 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
04.11.2015, 23:26 19
Цитата Сообщение от pesik Посмотреть сообщение
это, конечно, классно, но знать бы еще для чего все эти методы)
Пока тебе все эти плюшки IDE не нужны. Читай лучше дальше. Само подойдет, когда надо будет. И если надо будет.
1
802 / 52 / 2
Регистрация: 01.12.2012
Сообщений: 227
04.11.2015, 23:32  [ТС] 20
Цитата Сообщение от Velesthau Посмотреть сообщение
Пока тебе все эти плюшки IDE не нужны. Читай лучше дальше. Само подойдет, когда надо будет. И если надо будет.
спасибо за совет
0
04.11.2015, 23:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.11.2015, 23:32
Помогаю со студенческими работами здесь

Есть два класса. Как из одного класса перенести данные в другой класс?
Есть два класса : планета и диспетчер планет. Диспетчер имеет информацию о планетах: их названия,...

Вызвать процедуру\функцию из другого объекта\класса. Из одного класса\объекта сделать два
Здравствуйте. Подскажите что не правильно делаю, и возможно ли вообще - вызвать процедуру\функцию...

Определить класс-строку. В класс включить два конструктора: для определения класса строки строкой символов и п
Определить класс-строку. В класс включить два конструктора: для определения класса строки строкой...

Создать два подкласса одного класса
Нужно создать базовый класс Animal и два его подкласса (Tiger и Fox). Поля каждого класса могут...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru