static
一旦用来static 关键字
那么这样的内容不再属于对象
而是属于类的
所有凡是本类的对象 都共享一份
static 可以修饰变量和方法
注意事项:
1 静态不能直接访问非静态
原因:因为在内存中是【先】有的静态内容 【后】有的非静态内容
2 静态方法当中不能用this
原因 this代表当前对象, 通过谁调用的方法 谁就是当前对象。
静态代码块
格式:
public class 类名称{
static{
//静态代码块的内容
}
}
特点
当第一次用到本类时 静态代码块执行唯一的一次
静态内容总是优于非静态 所以静态代码块比构造方法先执行
静态代码块的典型用途
用来一次性对静态变量进行赋值。
package Test.StaticStudengt;//独立文件
public class StudengtStiatic {
static {
System.out.println(“静态代码块”);
}
StudengtStiatic(){
System.out.println(“构造方法”);
}
}
package Test.StaticStudengt;//独立文件
public class Test {
public static void main(String[] args) {
StudengtStiatic a1=new StudengtStiatic();
StudengtStiatic a2=new StudengtStiatic();
}
}
结果
静态代码块
构造方法
构造方法