1.分配对象空间,将空间内存初始化出二进制的零并将对象中成员初始化为0或者null,因为Java不允许用户操作一个不定值对象
2.执行属性值的显示初始化
3.执行构造器
4.将变量关联到堆中的对象上
区别点 | 重载方法 | 重写方法 |
---|---|---|
发生范围 | 同一个类 | 子类 |
参数列表 | 不同(参数类型、个数、顺序不同) | 方法名、参数列表必须全部相同 |
返回类型 | 可修改 | 子类方法<=父类方法返回值类型 |
异常 | 可修改 | 子类方法<=父类方法的抛出异常 |
访问修饰符 | 可修改 | 一定不能做更严格的限制(可以降低限制) |
发生阶段 | 编译期 | 运行期 |
类内部 | 本包 | 子类(同包) | 外部包 | |
---|---|---|---|---|
public | ✓ | ✓ | ✓ | ✓ |
default | ✓ | ✓ | ✓ | ✕ |
protected | ✓ | ✓ | ✕ | ✕ |
private | ✓ | ✕ | ✕ | ✕ |
JRE ---Java Runtime Environment(Java 运行环境),是面向的Java程序的使用者,而JRE只能运行Java程序
JDK--Java Development kit是Java开发工具包,它提供了Java的开发环境和运行环境,JDK中包含了JRE
JVM--Java Virtual Machine(Java虚拟机)的缩写,是整个Java平台实现跨平台的最核心部分,能够运行以Java语言写作的软件程序
简单来说就是JDK是Java的开发工具,JRE是Java程序运行所需的环境,JVM是Java虚拟机,它们之间的关系是JDK包含JRE和JVM,JRE包含JVM