教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

Java培训:静态属性

更新时间:2022年07月26日11时20分 来源:传智教育 浏览次数:

  如果在Java程序中使用static修饰属性,则该属性称为静态属性(也称全局属性),静态属性可以使用类名直接访问,访问格式如下:

类名·属性名

  在学习静态属性之前,先来看一个案例,如文件3-13所示。

  文件3-13 Example13.java

class Student {
    String name;                       //定义name属性
    int age;                          //定义age属性
    String school = "A大学";          //定义school属性
    public Student (String name,int age) {
        this.name = name;
        this.age = age;
    }
    public void info () {
   System.out.println ("姓名:" + this.name+", 年龄:"+this. age+", 学校:" + school);
  }
}
public class Example13 {
    public static void main (String[] args) {
        Student stul = new Student ("张三",18);  //创建学生对象
        Student stu2 = new Student ("李四",19);
        Student stu3 = new Student ("王五",20);
        stu1.info () ;
        stu2.info () ;
        stu3.info () ;
    }
}

  文件3-13中,第5~7行代码声明了Student类的有参构造方法,第9~11行代码输出了name和age属性的值。第16~20行代码分别定义了Student类的3个实例对象,并分别使用3个实例对象调用info()方法。

  图3-18 文件3-13的运行结果

  在图3-18中,3名学生均来自A大学。下面考虑一种情况:假设A大学改名为B大学,而且此Student类已经产生了10万个学生对象,那么意味着,如果要修改这些学生对象的学校信息,就需要把这10万个对象中的学校属性全部修改,共修改10万遍,这样肯定是非常麻烦的。

  为了解决上述问题,可以使用static关键字修饰school属性,将其变为公共属性。这样,school属性只会分配一块内存空间,被Student类的所有对象共享,只要某个对象进行了一次修改,全部学生对象的school属性值都会发生变化。

0 分享到:
和我们在线交谈!