static修饰符

    Java中的静态变量、方法使用static关键字修饰,先来看一个简单的例子:

 

public class Student {

	private static int stuNum = 0;//静态变量

	private int stuId;

	private String stuName;

	public Student(String stuName) {

		this.stuName = stuName;
		this.stuId = Student.stuNum++;

	}

	public int getStuId() {
		return stuId;
	}

	public void setStuId(int stuId) {
		this.stuId = stuId;
	}

	public String getStuName() {
		return stuName;
	}

	public void setStuName(String stuName) {
		this.stuName = stuName;
	}

	public static int getStuNum() {//静态方法
		return stuNum;
	}

	public static void main(String[] args) {

		Student stu1 = new Student("A");
		Student stu2 = new Student("B");

		System.out.println("Student count: " + Student.getStuNum());//静态方法调用
		System.out.println("Id:" + stu1.getStuId() + "   Name:"  //实例对象方法调用
				+ stu1.getStuName());
		System.out.println("Id:" + stu2.getStuId() + "   Name:"
				+ stu2.getStuName());

	}

}

    1.静态变量、方法的定义

    可以看到静态变量、方法在定义时和普通的实例变量、方法没多大区别,唯一的不同就是在多了一个static修饰符。

 

private static int stuNum = 0;//静态变量

public static int getStuNum() {//静态方法
		return stuNum;
	}

 

    2.静态变量、方法的使用

    静态变量、方法调用格式是“类名.方法名”,而实例则是“对象名.方法名”。

 

		System.out.println("Student count: " + Student.getStuNum());//静态方法调用
		System.out.println("Id:" + stu1.getStuId() + "   Name:"  //实例对象方法调用
				+ stu1.getStuName());

    3.什么时候使用静态变量、方法

    静态方法通常被用于工具类、工厂模式中。如Math类,它是一个数学求值工具,其中包含了大量的静态方法,如:public static double sqrt(double a),使用如下,不需要创建对象实例:

 

System.out.println(Math.sqrt(9));

    4.在静态方法中尝试去访问实例变量或实例方法是不合法的。

 

public static int getStuNum() {//静态方法
		System.out.println(stuName);   //不合法,会报错
		return stuNum;
	}
 

 

 

 

 

  

 

你可能感兴趣的:(java 修饰符 static)