static


1.在类中,用static声明的成员变量是静态成员变量,是类的公共变量,在第一次使用时被初始化,这个变量并不属于某个对象,而是所有对象公共的成员变量,只有一份。
   在内存中,我们知道对象的引用存储在堆区,而他们的成员变量也储存在对象中。而静态的成员变量却储存在data区中。由此可见静态的成员变量只有一份。
package 关键字;

public class TestStatic {
	private String name;
	private static int count;
	
	//重载构造器
	public TestStatic(String name){
		this.name = name;
		count++;
	}
	public static void main(String[] args) {
		
		TestStatic ts1 = new TestStatic("yuyang");
		TestStatic ts2 = new TestStatic("yang");
		
		System.out.println(TestStatic.count);
	}
}	


static_第1张图片

2.用static声明的方法为静态方法,在调用方法时,不会把对象的引用传递给他,所以静态方法中不能访问非静态的成员变量。

3.可以通过对象引用或类名访问静态成员变量或静态方法。
private static int count;
public static void main(String[] args) {		
		System.out.println(TestStatic.count);
	}


你可能感兴趣的:(static)