static静态变量的简略解释及其练习

1.当static修饰一个变量时,说白了,就是让该变量的值不能改变,即第二次调用我们不能改变它的值,它的值在第一次就已经确定下来了

package www.mmm;

class Student {
    private String name;
    private int age;
    private String gender;
    public static String teachername;
    public Student() {
    }
    public Student(String name, int age, String gender) {
        this.name = name;
        this.age = age;
        this.gender = gender;
    }

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

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

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }
    public void study(){
        System.out.println(name+"正在学习");
    }
    public void show(){
        System.out.println(name+","+age+","+gender+","+teachername);
    }
}
package www.mmm;

public class demo {
    public static void main(String[] args) {
        //第一个学生对象
        Student stu1=new Student("张三",10,"男");
        stu1.teachername="阿伟老师";
        stu1.study();
        stu1.show();
        //第二个学生对象
        Student stu2=new Student("李四",11,"女");
        stu2.study();
        stu2.show();
    }
}

上面的代码输出结果为:

张三正在学习
张三,10,男,阿伟老师
李四正在学习
李四,11,女,阿伟老师

我们并未给stu2中的teachername赋值,按理说应该输出null,但我们确得到了“阿伟老师”这个结果,在static的修饰下,teachername是固定的,无论创造多少个对象,都只会输出一开始给它赋值的结果。

你可能感兴趣的:(java,开发语言)