JAVA中static的理解
静态变量:类变量,为此类全部对象共享
静态方法:静态方法里没有this引用
不能在静态方法中访问非静态的成员变量和方法
能够直接经过类访问静态成员,即便不存在该类的对象
//Student.java
package cn.edu.uibe.oop;java
public class Student {
String name; //学生姓名
static int counter=0; //学生对象的数目oop
public Student(String name){
this.name = name;
counter++; //对象计数加1,须要用静态变量才能为全部对象共享
}
public void print(){
System.out.println("name="+name+"tcounter="+counter);
}
public static void showCounter(){
System.out.println("counter="+counter);
//System.out.println(name); //error,静态方法里面不能访问非静态的成员变量和方法
//this. //error,静态方法里面没有this引用
}ui
public static void main(String[] args) {
Student[] student = {
new Student("zhangsan"),
new Student("lisi"),
new Student("zhaowu")
};
for(int i=0;i<student.length;i++){
student.print();
}
new Student("wuming");
System.out.println("counter="+Student.counter);
Student.showCounter();
}
}this