标签:java程序 属性 ++ 类变量 步骤 创建 出现 文件中 默认值
类:与类型等价、是内存中的一个结构 RTTI(Run-Time Type Identification)运行时类型识别,对于这个词一直是C++中的概念,至于Java中出现RTTI的说法则是源于《Thinking in java》一书,其作用是在运行时识别一个对象的类型和类的信息。这里分为两种:
1 传统的“RTTI”,它假定我们在编译期已经知道了所有类型(在没有反射机制创建和使用类对象时,一般都是编译期已确定其类型,如new对象时该类必须已定义好)
2 反射机制,它允许我们在运行时发现和使用类型的信息
在类初始化阶段,JVM负责对类形式初始化,主要是对类变量初始化。在JAVA类中对类变量初始化值有两种方式:
1 声明类变量时指定初始值(实际代码Java类中未赋值的在实际初始化中会指定默认值)
2 使用静态初始化块为类变量指定初始值
JVM初始化一个类步骤如下:
1 如果这个类还没有被加载和连接,则程序先加载并连接该类
2 如果这个类直接父类还没有被初始化,则先初始化其父类
3 假如这个类中有初始化语句,则依次执行这些初始化语句
4 当执行到第2个步骤时,系统对直接父类的初始化也遵循1-3步骤
以此类推,所以JVM最先执行的类总是java.lang.Object类
java程序首次通过下面6种方式来使用某个类或接口,系统就会初始化该类或接口、
1 创建类的实例
2 调用某个类方法(静态方法)
3 访问某个类或接口,或为该类变量赋值
4 使用反射方式来强制创建某个类或接口对应的java.lang.Class对象
5 初始化某个类的子类,该子类的父类都会被初始化
6 直接使用java.exe 运行某个主类。当运行主类时候,程序会先初始化该主类
标签:java程序 属性 ++ 类变量 步骤 创建 出现 文件中 默认值
原文地址:https://blog.51cto.com/13238147/2540362