Java题速速帮下,有偿

1.定义一个StudentNN类(NN为学号末两位)
a)属性:姓名、性别、年龄、学号、专业,分别定义为:String name, String gender, int age, String sid, String major, 所有的变量必须为私有(private),major为静态static;
b)无参构造函数,功能:打印提示信息,如:This is constructor;
c)4个有参构造函数:参数分别为(name)、(name, gender)、(name, gender, age)和(name, gender, age, sid),功能:给属性赋值。提示:可在构造函数用this调用另一构造函数;
d)setName、setGender、setAge、setSid和setMajor方法,分别设置对应的属性
e)show函数,输出姓名、性别、年龄、学号和专业信息。
2.定义类的构造代码块
a)为类加入构造代码初始化块,打印提示信息,如:“一个新的学生诞生了”;
3.编写静态代码初始化块
a)打印提示信息,如:“This is static initialization block”;
b)将major值初始设置为“软工”;
4.编写main方法并运行
a)在main方法中创建2个学生对象,可以在构造函数初始化对象,也可以通过调用setter方法设置。其中的一个对象用自己的姓名和学号等信息;
b)调用两个对象的show函数;
c)用setMajor方法将专业值设置为“软件工程”;
d)再次调用两个对象的show函数;
e)编译和运行程序,观察输出结果


class Student01 {
    private String name;
    private String gender;
    private int age;
    private String sid;
    private static String major;

    public static void main(String[] args) {
        Student01 s1 = new Student01("小明","男",
                20,"1001");
        Student01 s2 = new Student01("小花","女",
                18,"1002");
        s1.show();
        s2.show();

        Student01.setMajor("软件工程");
        s1.show();
        s2.show();

    }

    public Student01() {
        System.out.println("This is constructor");
    }

    public Student01(String name) {
        this.name = name;
    }

    public Student01(String name, String gender) {
        this.name = name;
        this.gender = gender;
    }

    public Student01(String name, String gender, int age) {
        this.name = name;
        this.gender = gender;
        this.age = age;
    }

    public Student01(String name, String gender, int age, String sid) {
        this.name = name;
        this.gender = gender;
        this.age = age;
        this.sid = sid;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public void setSid(String sid) {
        this.sid = sid;
    }

    public static void setMajor(String major) {
        Student01.major = major;
    }


    public void show() {
        String str =  "Student01{" +
                "name='" + name + '\'' +
                ", gender='" + gender + '\'' +
                ", age=" + age +
                ", sid='" + sid + '\'' +
                ", major='" + Student01.major + '\'' +
                '}';
        System.out.println(str);
    }



    {
        System.out.println("一个新的学生诞生了");
    }

    static {
        System.out.println("This is static initialization block");
        major = "软工";

    }
}

结果:


This is static initialization block
一个新的学生诞生了
一个新的学生诞生了
Student01{name='小明', gender='男', age=20, sid='1001', major='软工'}
Student01{name='小花', gender='女', age=18, sid='1002', major='软工'}
Student01{name='小明', gender='男', age=20, sid='1001', major='软件工程'}
Student01{name='小花', gender='女', age=18, sid='1002', major='软件工程'}