提出问题
java类的主动使用和被动使用分别是那些情况???
解决问题
Java类主动使用情况,会导致类的初始化:
1)创建类的实例
2)访问某个类或接口的静态变量,或者对该静态变量赋值
3)调用类的静态方法
4)反射(如Class.forName(“com.bunny.Test”))
5)初始化一个类的子类
6)Java虚拟机启动时被表明为启动类的类(JavaTest)
其他使用java类方式,都可以被看作是被动使用,都不会导致类的初始化。
[code]package com.evada.de;
class ChildClass extends ClassUsed{
public static int c = 0;
}
/**
* Created by Ay on 2016/5/24.
*/
public class ClassUsed {
public static int a = 0;
public static void main(String[] args) throws Exception{
/** 创建类的实例 **/
ClassUsed classUsed = new ClassUsed();
/** 访问某个类或接口的静态变量,或者对该静态变量赋值 **/
int b = ClassUsed.a;
/** 调用类的静态方法 **/
ClassUsed.test();
/** 反射 **/
Class.forName("com.bunny.Test");
/** 初始化一个类的子类 **/
ChildClass.c = 10;
/** Java虚拟机启动时被表明为启动类的类 **/
//java com.hwy.MyTest
}
public static void test(){
}
}以上就是Java之类的主动使用和被动使用的内容,更多相关内容请关注PHP中文网(www.php.cn)!











