试题详情
- 简答题类的初始化有哪些时机?
-
类的初始化有以下时机:
(1)创建类的实例。创建类的实例的途径包括:用new语句创建实例,或者通过反射、克隆以及反序列化手段来创建实例。
(2)调用类的静态方法。
(3)访问某个类或接口的的静态变量,或者对该静态变量赋值。
(4)调用JavaAPI中某些反射方法,比如调用Class.forName("Worker")方法,假如Worker类还没有被初始化,那么forName()方法就会初始化Worker类,然后返回代表这个Worker类的Class实例。forName()方法是java.lang.Class类的静态方法。
(5)初始化一个类的子类。例如对Sub类的初始化,可看作是对它父类Base类的主动使用,因此会先初始化Base类。
(6)Java虚拟机启动时被标明为启动类的类。例如对于“javaSample”命令,Sample类就是启动类,Java虚拟机会先初始化它。 关注下方微信公众号,在线模考后查看
热门试题
- 接口中定义的数据成员均是(),所有成员方
- 以下Java代码运行的结果是()。
- 接口中的所有方法都没有被实现。()
- 定义一个int型的一维数组,包含10个元
- 抽象窗口工具包()是java提供的建立图
- 要创建一个用户界面,需要创建一个框架或a
- 下面的说法不正确的是()
- 套接口作用是什么?端口有什么意义?
- 下面关于类的设计思路描述错误的是()
- 面向对象的三大特征:封装、继承、()
- String s = new Strin
- 安装JDK时,不需要配置环境变量()。
- 下列属于Java关键字的是()
- 在Java语言中,执行语句“boolea
- Java源程序文件扩展名必须为.java
- 在ORACLE中,下面哪些命令是用来处理
- 什么是异常?为何需要异常处理?
- 对于子类的构造函数说明,下列叙述中不正确
- 子类覆盖父类的方法时,权限不能比父类的权
- 阅读以下程序: 运行以上程序,若从键盘