static :静态,可以修饰成员变量,成员方法
成员变量,方法有无被static修饰:
public class Student{
//类变量:属于类,会被类的全部对象共享
static String name;
//实例变量:每个对象有各自的实例变量
int age
//类方法:类和对象均能访问
public static void printHelloWorld{}
//实例方法:只能被对象访问
public void printPass{}
}
使用方法:
类变量:类名.类变量
实例变量:对象.实例变量
类方法:类名.类方法
实例方法:对象.实例方法
类方法使用场景:
用来设计工具类,提高代码复用性,并且工具类无需创建对象,建议将工具类私有化
代码块(日常很少用到):
//静态代码块
//格式:static{}
//特点:每次类加载时都会自动执行一次该代码块
//作用:一般用于对类变量的初始化赋值
//实力代码块
//格式:{}
//特点:每次创建对象的时候都会执行实例代码块,并且是先执行实例代码块再执行构造器
//作用:一般用于对实例变量的初始化赋值
单例设计模式:
作用:确保一个类只有一个对象
public class A {
//2、定义一个类变量记住类的一个对象
private static A a = new A();
//1、私有类的构造器
private A(){
}
//3、定义一个类方法返回类的对象
public static A getObject(){
return a;
}
}