目录
static:
1.被类的所有对象所共享(和c++有点像)
2.多了一种调用方法,可以通过类名调用
3.随着类的加载而加载,是优先于对象的存在。
工具类:
为什么主类的方法要加static:
理解 public static void main:
static:
用法:可以修饰成员变量和成员方法。
static修饰成员特点:
1.被类的所有对象所共享(和c++有点像)
class People {
String name;
static int PeopleOnline;//默认初始化为0
}
public static void main(String[] args) {
People p1=new People();
p1.name="藏三";
p1.PeopleOnline+=1;PeopleOnline//+1
System.out.println(p1.PeopleOnline);//打印PeopleOnline
People p2=new People();
p2.name="里斯";
System.out.println(p2.PeopleOnline);//打印PeopleOnline
}
结果:
可见是被所有对象共享的
2.多了一种调用方法,可以通过类名调用
class People {
String name;
static int PeopleOnline;
}
public static void main(String[] args) {
People p1=new People();
p1.name="藏三";
p1.PeopleOnline+=1;
System.out.println(People.PeopleOnline);//通过类名调用
People p2=new People();
p2.name="里斯";
System.out.println(People.PeopleOnline);//通过类名调用
}
3.随着类的加载而加载,是优先于对象的存在。
所以我们可以这样写,不用创建对象直接用。
class People {
String name;
static int PeopleOnline;
}
public static void main(String[] args) {
System.out.println(People.PeopleOnline);
}
怎么理解呢,我加单画张图
工具类:
static修饰方法时,应用场景就是制作工具类
工具类定义:不是描述事实,而是完成一些事情。
这里就要提到我们的学生信息管理系统,在做数据处理的时候我们一般都是单独出来一个类来专门制作方法。
这里有个规矩,所有方法都用static修饰的话,就要私有其构造方法,目的是不让其他类创造再穿创造方法。
为什么主类的方法要加static:
学到这里我们就应该很清楚了,因为没有static修饰的话,方法需要new一个对象出来,才能生成对应的方法。
理解 public static void main:
public:因为我们需要调用jvm虚拟机,所以权限要大。
static:为了jvm方便,不用再去new一个对象,且主方法为静态的所以只能去调用静态的方法。
void:因为没有返回值。