1.修饰成员变量,成员方法 方便在没有创建对象的情况下来进行调用(方法/变量)。
只要在类中使用了static关键字修饰,那么就可以在不实例化对象的情况下使用它(方法||变量)
比如在Main方法中 User.name 或者User.print1(); 是可以成立的 但是User.name2 || User.print2() 连对象都没有,是无法成立的,所以我们可以得出结论 static方法,变量 是不依附与对象,独立存在的,也就是说不需要实例化对象就能使用的.
2.静态块
static静态块 是用于优化程序性能的,为什么这么说呢,来!看下面的例子
public class User {
Date newDate=new Date();
public String toString1() throws ParseException {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(newDate);
}
}
这个方法是用来日期转换字符的 , 但是每次我们使用这个方法的时候,总会新增一个SimpledateFormat对象出来,这样就会造成空间浪费,然而我们用静态块的话
static SimpleDateFormat sdf;
static {
sdf=new SimpleDateFormat("yyyy-MM-dd");
}
public String toString12(Date date){
return sdf.format(date);
}
这样我们就可以把这一块内存给省下来了.
静态块执行顺序和正常执行顺序一致,一个类里可以有多个静态块
静态块不能出现在方法内部
3.常量
常量的意思就是不可更改的全局数据,,,,很多时候 static 会和final 一起使用 这样就会变成常量1不可修改,2全局性