java 类的初始化1
来源:互联网 发布:唐朝 阿拉伯 知乎 编辑:程序博客网 时间:2024/06/02 14:10
第一次
class Person{
public static final int a=new Random().nextInt(40);
static{
System.out.println("类被初始化");
}
}
public class Test01 {
public static void main(String[] args) {
System.out.println(Person.a);
}
}
运行结果
类被初始化
31
第二次
class Person{
public static final int a=4/2;
static{
System.out.println("类被初始化");
}
}
public class Test01 {
public static void main(String[] args) {
System.out.println(Person.a);
}
}
运行结果
2
个人理解
第二次的a是一个编译时的常量,在使用这个常量的时候不属于类的主动使用,不会导致Person类的初始化,而第一次的a只有在运行时才可以确定值,并不是一个编译时的常量属于主动使用会初始化Person类
class Person{
public static final int a=new Random().nextInt(40);
static{
System.out.println("类被初始化");
}
}
public class Test01 {
public static void main(String[] args) {
System.out.println(Person.a);
}
}
运行结果
类被初始化
31
第二次
class Person{
public static final int a=4/2;
static{
System.out.println("类被初始化");
}
}
public class Test01 {
public static void main(String[] args) {
System.out.println(Person.a);
}
}
运行结果
2
个人理解
第二次的a是一个编译时的常量,在使用这个常量的时候不属于类的主动使用,不会导致Person类的初始化,而第一次的a只有在运行时才可以确定值,并不是一个编译时的常量属于主动使用会初始化Person类
- java 类的初始化1
- Java类的初始化1
- java 类的初始化
- java 类的初始化
- java类的初始化
- Java类的初始化
- JAVA类的初始化
- Java类的初始化
- java 类的初始化
- Java类的初始化
- Java类的初始化
- java类的初始化
- Java类的初始化
- Java类的初始化
- Java类的初始化
- java 类的初始化
- Java类的初始化
- java类的初始化
- java设计模式——迭代器模式
- java 垃圾回收相关总结 【思维导图】
- 百度笔试题:一个已经排序好的很大的数组,现在给它划分成m段,每段长度不定,段长最长为k,然后段内打乱顺序,请设计一个算法对其进行重新排序
- 命名规则
- Android之UI学习篇十二:ListView控件学习(二)
- java 类的初始化1
- 《高质量程序设计指南——C/C++》第14章 C++函数的高级特性
- cmyk图片转为rgb图片
- EditPlus中配置java命令工具
- Tomcat 的三种(bio,nio.apr) 高级 Connector 运行模式
- Java 并发:Executors 和线程池
- JAVA里301永久重定向的实现 .
- ZOJ 2108 Elevator
- Lucene之六(Lucene内置Analysis分析器)