提出問題
Java類別的主動使用和被動使用分別是那些情況? ? ?
解決問題
Java類別主動使用情況,會導致類別的初始化:
1)建立類別的實例
2)存取某個類別或介面的靜態變量,或對該靜態變數賦值
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)!