开心一笑
「把你最值钱的东西交出来!」面对劫匪的恐吓,男友二话不说,把我给推了出去。一时间我竟不知应该感动还是生气。
提出问题
Java类的主动使用和被动使用分别是那些情况???
解决问题
Java类主动使用情况,会导致类的初始化:
1)创建类的实例
2)访问某个类或接口的静态变量,或者对该静态变量赋值
3)调用类的静态方法
4)反射(如Class.forName("com.bunny.Test"))
5)初始化一个类的子类
6)Java虚拟机启动时被表明为启动类的类(JavaTest)
其他使用java类方式,都可以被看作是被动使用,都不会导致类的初始化。
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(){
}
}
读书感悟
- 纵有疾风起、人生不言弃 ,风起云涌时、奋力求生存
- 即使起风了,也要好好的活下去!
- 再没有什么比幸福的回忆更妨碍幸福的了。