问题描述
比如在ssh里,定义一个static 类的static变量和一个非static类static变量 它们的生命周期各是多长呢? 是到应用程序结束? 还是用户登陆的时候创建用户登出的时候销毁? 还是由垃圾回收器决定,具体时间不确定?
解决方案
类不能定义为static的。只有类的成员才可以是static(包括变量和方法)static成员第一次用的时候创建,之后就一直在了。直道应用程序关闭。
解决方案二:
static可修饰的东西很多,分别有如下一些: 1. static修饰类中的变量,称这样的变量为类成员变量; 2. static修饰类中的方法,称这样的方法为类成员方法; 3. static修饰类中的内部类,称这样的类为静态内部类;类的static成员会在该类第一次加载时被创建,一般直到程序结束才会销毁。类加载大致有如下一些情况(类未加载的情况下,如下动作会导致类加载): 1. 创建类实例; 2. 类名.static变量 访问静态变量时; 3. 类名.static方法 访问静态方法时; 4. 使用Class.forName()动态加载类时; ……
解决方案三:
可以有静态类,只是得这样定义(内部静态类)public class AA {/** * * <p> * Description: * </p> * <p> * Copyright: Copyright (c) 2011 * </p> * <p> * Company: suziwen * </p> * * @author suziwen * @Date 2011-5-10 * @version: */public static class GG {}}
解决方案四:
http://www.iteye.com/topic/691013
时间: 2024-08-22 14:56:47