Java中类的静态成员
}
在main方法中创建学生,并且每创建一个学生,给学生人数+1
Student stu1 = new Student(); stu1.no = "001"; = "刘备"; Student.count++; Student stu2 = new Student(); stu2.no = "001"; = "刘备"; Student.count++; Student stu3 = new Student(); stu3.no = "001"; = "刘备"; Student.count++; System.out.println("学生人数:" + Student.count);
}
在main方法中创建学生,并且每创建一个学生,给学生人数+1
Student stu1 = new Student(); stu1.no = "001"; = "刘备"; stu1.count++; Student stu2 = new Student(); stu2.no = "001"; = "刘备"; stu2.count++; Student stu3 = new Student(); stu3.no = "001"; = "刘备"; stu3.count++; System.out.println("学生人数:" + stu3.count); //此时有三个学生,但是打印的学生人数仍然 是1.
}
在main方法中调用printHello方法不需要实例化对象,而可以直接用类名来调用。
Student.printHello(); //此时可以打印"全体学生欢迎您!"
静态成员是类级别的,是所有对象共享的数据,如果在学生类中,有一个字段来记录学生人数,此时不 使用静态成员将无法记录学生人数,例如:
public class Student { String no; //学号 String name; //姓名 int count; //学生人数
//此时可以打印学生人数为3
类的静态成员
声明静态成员使用static修饰符。 时才会释放内存空间。 一个类中的静态成员可以是静态字段,也可以有静态方法,静态成员不需要创建对象后使用,可以直接 使用类名来引用,例如: 有一个学生类,如下:
public class Student { //静态方法 public static void printHello() { System.out.println("全体学生欢迎您!"); }
通过以上代码我们可以看出,学生人数并没有增加,实际上三个对象都单独拥有学生人数的字段,并且 毫无关联。
此时我们可以使用静态成员解决此问题,代码如下,例如:
public class Student { String no; //学号 String name; //姓名 static int count; //学生人数