无法运行,显示有错误,非法的开始表达式

class Employee{
private String name;
private int salary;
//构造方法,初始化类的变量数据
public Employee( String name,int salary){
this. name = name;
this.salary =salary;
}
//下面是2对getter和setter方法,用来对类的2个私有变量对外暴露公共public的存取私有数据的方法,这样有利于保护数据,外界只能通过类提供的getter和setter方法来访问私有数据
public void setName(String name){
this.name=name;
public void setSalary(int salary){
this.salary=salary;
public String getName(){
Return this.name;
public int getSalary(){
return this.salary;
}
//定义类Manager
class Manager extends Employee {
private String department;
public Manager( String name,int salary, String department){
//在子类的构造方法中调用父类Employee的构造方法,必须在第一行
super( name, salary);
this.department = department;
}
public String getDetails( ){
//调用父类 Employee的成员方法
return super. getDetails( ) + "\nDepartment: " + department;
}
}
public class TestSuper{
public static void rain( String[] args) {
Manager m=new Manager("Tom",2000,"Finance");
System.out. println(m.getDetails());
}


class Employee {
    private String name;
    private int salary;

//构造方法,初始化类的变量数据
    public Employee(String name, int salary) {
        this.name = name;
        this.salary = salary;
    }

//下面是2对getter和setter方法,用来对类的2个私有变量对外暴露公共public的存取私有数据的方法,这样有利于保护数据,外界只能通过类提供的getter和setter方法来访问私有数据
    public void setName(String name) {
        this.name = name;
    }

    public void setSalary(int salary) {
        this.salary = salary;
    }

    public String getName() {
        return this.name;
    }

    public int getSalary() {
        return this.salary;
    }

    public String getDetails() {
        
        return "代码很乱,缺少很多东西";
    }

}

//定义类Manager
class Manager extends Employee {
    private String department;

    public Manager(String name, int salary, String department) {
//在子类的构造方法中调用父类Employee的构造方法,必须在第一行
        super(name, salary);
        this.department = department;
    }

    public String getDetails() {
//调用父类 Employee的成员方法
        return super.getDetails() + "\nDepartment: " + department;
    }
}