欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

Java之类的主动使用和被动使用

程序员文章站 2022-05-16 08:47:59
...

提出问题

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)!