static关键字可以修饰成员变量,方法,代码块
static修饰的成员变量叫类变量,类变量和成员变量的区别:
1、份数不同。类变量只有一份,被所有对象共享。而成员变量的份数与实例的份数一样
2、分配空间不同。类变量存储在方法区中,成员变量存储在堆内存中
3、调用方法不同。类变量使用类名和对象名进行调用(不推荐),而实例变量只能通过对象名进行调用
4、创建时间不同。类变量在类加载时创建,而实例变量在创建对象时进行创建
static修饰的方法成为静态方法或类方法
静态方法不能访问非静态成员,不能使用this关键字,非静态方法可以访问静态成员。
static修饰的代码块成为静态代码块
静态代码块在类加载时存在,并且只创建一次
封装的特点:隐藏实现细节,安全,易于维护
封装的步骤:
1、将成员变量私有化(使用private修饰)
2、提供getter和setter方法
3、更改访问权限
修饰符:
public 项目可见性
protected 本包及其他包的子类
默认 本包
private 本类
类的修饰符只有public和默认两种。