区别 | static变量 | 非静态变量 |
份数 | 1份 | 每个对象1份 |
内存中位置 | 元空间(metaspace) | 堆 |
创建时间 | 加载类 | 创建对象 |
调用方式 | 类名.变量名 | 对象名.变量名 |
生命周期 | 与类一致 | 与对象一致 |
作用:访问static方法/变量
调用方式:类名.方法名
static方法不可以访问:
理解:加载类的时候就加载静态变量和静态方法,此时可能还没有创建对象,所以非静态变量和非静态的方法还没有分配空间,无法访问
类的成员处理:一般用private修饰,通过set,get方法修改、获取(boolean变量通过is获取)
|
修饰符 |
返回值 |
方法名 |
参数 |
抛出异常 |
|
重载 |
无关 |
无关 |
相同 |
不同 |
无关 |
|
重写 |
大于等于 |
小于等于 |
相同 |
基本数据类型:相同 |
引用数据类型:小于等于 | 小于等于 |