Я получаю сообщение об ошибке общедоступного статического 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";
}
}

}

0
user2989486 3 Окт 2014 в 05:22

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)
{
...
}
0
Epicblood 3 Окт 2014 в 01:30

Вы, вероятно, пытались определить конструктор, но в итоге определили метод здесь:

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 вызовет соответствующий конструктор, как указано выше.

0
Juned Ahsan 3 Окт 2014 в 01:27