编译期:检查是否有语法错误,如果没有就将其翻译成字节码文件。即.class文件。
运行期:java虚拟机分配内存,解释执行字节码文件。
例如:
public class test1 {
//被final修饰的变量是不可变的是个定值
public static final int a = 10;
public static final int b = 10;
public static int c = 10;
public static int d = 10;
public static void main(String[] args) {
int num1 = a * b;
int num2 = c * d;
//num1在编译时就确定其值是200,而num2是变量只有在运行时才能知道其结果
}
}
注意:
1,方法重载是在编译时执行的。
2,方法的重写是在运行时进行的。
3,泛型(类型检测),这个发生在编译时。
4,注解。注解即有可能是运行时也有可能是编译时
5,异常。异常即有可能是运行时异常,也有可能是编译时异常
6,继承是编译时执行的。