Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> База сотрудников 
:(
    Опции темы
Syltan
Дата 18.5.2010, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 301
Регистрация: 31.8.2009

Репутация: нет
Всего: -2



Вот есть код, который выводит базу сотрудников с их зарплатами.
Код

package proga11;
class Employee{
 private  String name;
 private  double salary;
 public Employee(String n, double s)
 { name=n;
  salary=s;
 }
 public String getName()
 { return name;}
 public double getSalary()
 {return salary;}
 public void raiseSalary(double byPercent)
 {salary*=1+byPercent/100;
 }
}
public class Main {
public static void main(String[] args) {
Employee[] staff = new Employee[3];
staff[0]=new Employee("Haug E.G.",50000);
staff[1]=new Employee("Adams. R.A.",60000);
staff[2]=new Employee("Tallyor A.A.",35000);
for(int i=0; i<staff.length; i++)
    System.out.println("name="+staff[i].getName()
            +"   salary="+staff[i].getSalary());

for(int i=0; i<staff.length; i++)
    staff[i].raiseSalary(10);
 System.out.println("     New  Salary");
for(int i=0; i<staff.length; i++)
{
    Employee e=staff[i];
    System.out.println("name="+staff[i].getName()
            +"   salary="+e.getSalary());
    }
}
}



Объясните вот это место.
Код

public static void main(String[] args) {
Employee[] staff = new Employee[3];
staff[0]=new Employee("Haug E.G.",50000);
staff[1]=new Employee("Adams. R.A.",60000);
staff[2]=new Employee("Tallyor A.A.",35000);
for(int i=0; i<staff.length; i++)
    System.out.println("name="+staff[i].getName()
            +"   salary="+staff[i].getSalary());




почему 4 раза встречается слово new?
Здесь создаётся масив объектов?
Код
staff[0]=new Employee("Haug E.G.",50000);

Почему здесь снова  new встречается?
PM MAIL   Вверх
soulcub
Дата 18.5.2010, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 2.2.2010
Где: Винница, Украина

Репутация: нет
Всего: 2



Ну вообще 
Код

Employee[] staff = new Employee[3];

Этой строкой мы объявляем массив из 3-х элементов класса Employee, можно представить это в памяти как создание чего-то такого

staff[1]
staff[2]
staff[3]

Но сами объекты ещё  не определены. Мы не можем ими пользоваться пока не выделим для них память. 
Потому для каждого из них нужно это сделать отдельно стоками
Код

staff[0]=new Employee("Haug E.G.",50000);
staff[1]=new Employee("Adams. R.A.",60000);
staff[2]=new Employee("Tallyor A.A.",35000);

для каждого из элементов массива. После этой операции получим в памяти массив из 3-х элементов, определенных как нам нужно.
--------------------
Так давай же, поспеши!Отыскать СВОЙ куб души!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.2433 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.