java——Java构造方法的私有化
2016-03-06 23:13
513 查看
原文链接:http://blog.chinaunix.net/uid-21660668-id-431183.html
使用private关键字可以声明属性,声明的属性不能被外部直接访问。同样,可以使用private声明方法,声明的方法只能在类的内部看见。
·构造方法也可以使用private声明,一旦声明,则外部就不能对对象进行实例化操作了。
范例1:
class Single{
private Single() ; //将构造方法私有化
public void print(){
System.put.println("Hello world!!");
}
}
public class SingleDemo01{
public static void main(String args[]){
Single s = null ; //声明对象
s = new Single ; //实例化对象
s.print();
}
}
运行结果:
不能编译,因为Single()是私有化的构造方法,在“s = new Single()”中则不可以执行。
修改范例2:
class Single{
private static Single instance = new Single();
// 在类中对构造方法进行实例化
private Single() ; //将构造方法私有化
public static Single getInstance(){
return instance ;
}
//对insance 对象进行get方法取得
public void print(){
System.put.println("Hello world!!");
}
}
public class SingleDemo02{
public static void main(String args[]){
Single s = null ; //声明对象
s = Single.getInstance();
//通过类中的get方法对对象instance简介进行实例化
s.print();
}
}
执行结果:Hello world!!
总结:
在类中如果声明了私有化的构造方法,那么主方法中若取得并且实例化对象可以用以下方法:
·在类中进行对私有化的构造方法的实例化。
·用static的get方法对实例化的对象进行取值。
·在主方法中取得实例化对象用get方法。
此程序的意义:
如果现在一个类只能有一个实例化对象的话,那么这样的设计就称为--单例设计。
当整个系统中只需要一个实例化的对象时,就是用此设计模式。
使用private关键字可以声明属性,声明的属性不能被外部直接访问。同样,可以使用private声明方法,声明的方法只能在类的内部看见。
·构造方法也可以使用private声明,一旦声明,则外部就不能对对象进行实例化操作了。
范例1:
class Single{
private Single() ; //将构造方法私有化
public void print(){
System.put.println("Hello world!!");
}
}
public class SingleDemo01{
public static void main(String args[]){
Single s = null ; //声明对象
s = new Single ; //实例化对象
s.print();
}
}
运行结果:
不能编译,因为Single()是私有化的构造方法,在“s = new Single()”中则不可以执行。
修改范例2:
class Single{
private static Single instance = new Single();
// 在类中对构造方法进行实例化
private Single() ; //将构造方法私有化
public static Single getInstance(){
return instance ;
}
//对insance 对象进行get方法取得
public void print(){
System.put.println("Hello world!!");
}
}
public class SingleDemo02{
public static void main(String args[]){
Single s = null ; //声明对象
s = Single.getInstance();
//通过类中的get方法对对象instance简介进行实例化
s.print();
}
}
执行结果:Hello world!!
总结:
在类中如果声明了私有化的构造方法,那么主方法中若取得并且实例化对象可以用以下方法:
·在类中进行对私有化的构造方法的实例化。
·用static的get方法对实例化的对象进行取值。
·在主方法中取得实例化对象用get方法。
此程序的意义:
如果现在一个类只能有一个实例化对象的话,那么这样的设计就称为--单例设计。
当整个系统中只需要一个实例化的对象时,就是用此设计模式。
相关文章推荐
- java第一周学习总结
- 20145203 盖泽双《Java程序设计》第一周的学习总结
- java发布项目后注意小点,以及对于金额在java中的处理
- Java中equals()与hashCode()方法详解
- java 字节流与字符流的区别
- 20145338 《Java程序设计》第1周学习总结
- 南阳ACM 题目811:变态最大值 Java版
- Java 内存区域和GC机制
- Java中,char型变量中能不能存储一个中文汉字,为什么
- 十种常见的排序算法总结(java版)
- java 泛型的理解(一)
- 学习java的一点心得(二)
- spring配置整理
- java动态代理详解
- JAVA作业——JAVA课程的总结及学习计划
- 20144303 《Java程序设计》第一周学习总结
- 20145313张雪纯 《Java程序设计》第1周学习总结
- Java类加载器总结
- 20145211 《Java程序设计》第1周学习总结——小荷才露尖尖角
- Java直接(堆外)内存使用详解