Я получаю сообщение об ошибке общедоступного статического Employee1, в котором говорится, что ему нужен требуемый возвращаемый тип и что объявление метода недействительно. Я пытался изменить это, но не знаю, что делаю не так. Извините, я новичок в java
import java.util.Scanner;
public class aleko_Employee1 extends Object
{
private String firstName;
private String lastName;
private char middleInitial;
private boolean fulltime;
private char gender;
private int employeeNum;
private static Scanner in = new Scanner(System.in);
public class aleko_Employee1
{
public static void main(String args[])
{
aleko_Employee1 employee1 = new aleko_Employee1("Jeff", "Doe", 'M', 12345);
aleko_Employee1 employee2 = new aleko_Employee1("Jeffery", "Doe", 'M', 12345);
aleko_Employee1 employee3 = new aleko_Employee1("Amanda", "Smith", 'M', 98765);
}
public static Employee1(String fn, String ln, char g, int en)
{
firstName = fn;
lastName = ln;
gender = g;
employeNum = en;
}
public void setfirstName(String fn)
{
firstName = fn;
}
public String getFirstName()
{
return firstName;
}
public void setLastName(String ln)
{
lastName=ln;
}
public String getLastName()
{
return lastName;
}
public void setGender(char g)
{
gender =g;
}
public char getGender()
{
return gender;
}
public void setEmployeeNumber(int en)
{
if ( en > 99999 || en < 10000)
{
employeeNum = en;
}
else
{
employeeNum = 0;
}
}
public int getEmployeeNumber();
{
return employeeNum;
}
public boolean equals( Object e2)
{
if (this.employeeNum == ((Employee1)e2).employeeNum)
{
return true;
}
else
{
return false;
}
}
public String toString()
{
return lastName + ","+ "\n" + "ID:" + employeeNum + "\n";
}
}
}
2 ответа
Изменение
public static Employee1(String fn, String ln, char g, int en)
{
...
}
В (вам всегда нужно указывать тип возвращаемого значения в методах, если он ничего не возвращает, это void
)
public static void Employee1(String fn, String ln, char g, int en)
{
...
}
Или если он должен быть конструктором (вы не указываете тип возвращаемого значения в конструкторах)
public aleko_Employee1(String fn, String ln, char g, int en)
{
...
}
Вы, вероятно, пытались определить конструктор, но в итоге определили метод здесь:
public static Employee1(String fn, String ln, char g, int en)
{
firstName = fn;
lastName = ln;
gender = g;
employeNum = en;
}
Конструкторы должны иметь то же имя, что и Class, и не иметь никаких возвращаемых типов. Так что измените его на:
public aleko_Employee1(String fn, String ln, char g, int en)
{
firstName = fn;
lastName = ln;
gender = g;
employeNum = en;
}
Конструктор вызывается при создании объекта с помощью оператора new
. Итак, теперь, когда вы создаете свои объекты, как указано здесь:
aleko_Employee1 employee1 = new aleko_Employee1("Jeff", "Doe", 'M', 12345);
aleko_Employee1 employee2 = new aleko_Employee1("Jeffery", "Doe", 'M', 12345);
aleko_Employee1 employee3 = new aleko_Employee1("Amanda", "Smith", 'M', 98765);
JVM вызовет соответствующий конструктор, как указано выше.
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.