权限修饰符:
修饰符 | 同一个类中 | 同一个包中子类无关类 | 不同包的子类 | 不同包的无关类 |
private | √ | |||
默认 | √ | √ | ||
protected | √ | √ | √ | |
public | √ | √ | √ | √ |
总结:
public修饰的成员可以任意访问
protected修饰的成员能在不同包中或者子类中访问(和类有关联的地方访问)
(default)缺省修饰的成员只能在本包中访问
private修饰的成员只能在本类访问
成员变量和局部变量的区别:
区别 | 成员变量 | 局部变量 |
类中位置不同 | 类中方法外 | 方法内或方法声明上 |
内存中位置不同 | 堆内存 | 栈内存 |
生命周期不同 | 随着对象的存在而存在,随着对象的消失而消失 | 随着方法的调用而存在,随着方法的调用完毕而消失 |
初始值不同 | 有默认的初始化值 | 没有默认的初始化值,必须先定义,赋值,才能使用 |