modifier 'static' is only allowed in constant variable declarations

195
01 февраля 2022, 21:20

Выдает ошибку:

Illegal static declaration in inner class Employee.EmployeeTest
modifier 'static' is only allowed in constant variable declarations

public class Employee {
    int id;
    String surname;
    int age;
    double salary;
    String department;
    public Employee(int id, String surname, int age, double salary, String department){
       this.id=id;
       this.surname=surname;
       this.age=age;
       this.salary=salary;
       this.department=department;       
    }

    class EmployeeTest{
       public static void main(String[] args) {
            Employee e1= new Employee(1, "Vasin", 23, 235.4, "dep1");
            Employee e2= new Employee(2, "Petin", 40, 417.6, "dep2");
       }       
    }
}

Делаю в NetBeans 8.0.2.

Скажите, пожалуйста, что делаю не так?

Answer 1

Вложенный класс (и, соответственно, его методы) в Java имеет смысл только в контексте объекта родительского класса. Чтобы оторвать вложенный класс от этого контекста, нужно объявить сам этот вложенный класс как static.

...
  static class EmployeeTest{
    public static void main(String[] args) {
        Employee e1 = new Employee(1, "Vasin", 23, 235.4, "dep1");
        Employee e2 = new Employee(2, "Petin", 40, 417.6, "dep2");
    }       
  }
}

https://docs.oracle.com/javase/tutorial/java/javaOO/innerclasses.html

READ ALSO
Как реализовать текст двух цветов

Как реализовать текст двух цветов

Появился в макете такой дизайн кнопки 404:

91
Выравнивание блока div по центру

Выравнивание блока div по центру

Как я могу выровнять по центру картинку внутри блока <div>?

108
тупят стили css

тупят стили css

Делал сайт, всё вроде бы было норм, и тут приехали - часть шапки не поакзывается, а именно часть с меню и посиком (При чём только на версиях для...

161
Почему не работает псевдоэлемент ::marker

Почему не работает псевдоэлемент ::marker

Почему не работает псевдоэлемент ::marker ?

95