package object;

public class User {
    public String userid;
    public String username;
    public String password;
    public String sex;
    public String age;
    public String email;
    public String school;
    public String pictureurl;
    public String profile;
    public boolean accountstate;
    public int invitetimes;
}
