class Singleton{
static Singleton instance = new Singleton() ; // 在内部产生本类的实例化对象
private Singleton(){ // 将构造方法进行了封装,私有化
}
public void print(){
System.out.println("Hello World!!!") ;
}
};
public class SingletonDemo04{
public static void main(String args[]){
Singleton s1 = null ; // 声明对象
s1 = Singleton.instance ; // 取得实例化对象
s1.print() ; // 调用方法
}
};
instance是什么,是实例化的对象,还是声明的属性?请详细解答一下,谢谢
class Singleton{ static Singleton instance = new Singleton() ; private Singleton(){}
答案:3 悬赏:30 手机版
解决时间 2021-01-04 14:55
- 提问者网友:却不属于对方
- 2021-01-03 15:50
最佳答案
- 五星知识达人网友:话散在刀尖上
- 2021-01-03 16:27
instance是实例化对象
等同于new 关键字
等同于new 关键字
全部回答
- 1楼网友:轮獄道
- 2021-01-03 17:43
<p>你首先要明白final修饰变量的功能是,一次初始化不能再被修改,既然是私有变量,就只考虑内部对这个变量的处理了,如果需要修改就不加final</p> <p>而在单例模式中,如果存在释放资源的情况下,就不能加final修饰了,比如针对你贴的这个单例,如果提供方法</p> public void releaseinstance(){
if(instance != null){
instance = null;
}
}<p>释放资源之后,如果需要重新使用这个单例,就必须存在重新初始化的过程,所以不能加final,对于不需要释放资源的情况,可以加final</p> <p>总而言之,要不要加final修饰,可以根据情况而定</p>
- 2楼网友:有你哪都是故乡
- 2021-01-03 17:19
//注意这是private 只供内部调用 private static Singleton instance = new Singleton(); //这里提供了一个供外部访问本class的静态方法,可以直接访问
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯