一、访问权限修饰符
public protected 默认不写 private
1、类的访问权限修饰符
public 和 默认不写两种
public 公开的 表示最大的访问权限 整个项目中任何位置都可以访问这个类
默认不写表示包级别的访问权限 表示此类只在本包中可以访问
2、类成员的访问权限修饰符
public、protected、默认不写、private
类成员:属性、方法、构造方法
public | 本类中 | 本包中 | 子类中 | 本项目 |
---|---|---|---|---|
protected | 本类中 | 本包中 | 子类中 | |
默认不写 | 本类中 | 本包中 | ||
private | 本类中 |
注:若不同的包中有同名的类需要引用,则创建对象的时候在类名前加上包名
二、static关键字
1、static修饰属性
static修饰的属性称之为静态属性,在内存中只有一份拷贝,属于整个类,不属于任何对象,可以被当前类的所有独享共享。
访问:
本类中普通方法和静态方法直接访问
其他类的普通方法和静态方法通过类名+点访问
2、static修饰方法
static修饰的方法称之为静态方法。
访问:
本类中普通方法中和静态方法中直接调用
其他类普通方法和静态方法中通过类名+点调用
3、static修饰代码块
static修饰的代码块称之为静态代码块,当JVM加载类的时候自动执行,不能调用,多个静态代码块按照顺序执行,每个静态代码块只执行一次。
三、创建对象过程
1.当我们第一访问某一个类时,JVM先从方法区查看当前类是够被加载,如果没有被加载,则将当前类信息,class文件加载到方法区,类信息文件只加载一次(此时将初始化static修饰的信息,比如属性,方法,代码块)
2.在堆中开辟空间,此时实例变量将有默认值
3.将栈中的引用指向堆中的空间