提出问题
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)!