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之类的主动使用和被动使用的内容。
