zoukankan      html  css  js  c++  java
  • private关键字实现控制新建类数量

      private关键字作为一个重要的关键字,我们在开发中会经常用到,可是你有没有想过通过private关键字我们可以创建一个别人无法通过new来新建的类呢?下面我们就来看一下:

    package returnobject;
    
    public class RerurnObject {
        public static void main(String args[]){
            // Test test = new Test(); 通过这一条是无法创建Test对象的
            Test test = Test.returnObject();
            Test test2 = Test.access();  
            Test test3 =Test .access();  //虽然编译通过,但是实际并不会新建Test类
            Test test4 =Test .access();  //虽然编辑通过,但是实际并不会新建Test类
            
        }
        
    }
    
    class Test{
        private Test(){
            System.out.println("成功创建一个Test对象!");
        }
        private static Test test2 = new Test();
        
        public static Test access(){
            return test2;
        }
        
        public static Test returnObject(){
            return new Test();
        }
        
    }

      正如上面代码所展示的,Test类是无法通过new来新建的,具体的原理是这样的:我们在Test类的构造器(构造方法)前面添加了关键字private,然后这个类就无法被创建了,但是我们可以通过Test类的静态方法来创建Test类,让其返回一个Test类。

      可能会有人问了,这样做有什么好处呢?试想一个,如果你想控制新建类(new 类名)的数量,那么这种方法无疑是最好的解决方案!特别是在将test2编程Test的一个静态私有成员(private static)以后,有 一个而且只能有一个。除非通过public 方法access(),否则根本无法访问它。

  • 相关阅读:
    acdream 1017: Fast Transportation 网络流层次图
    centos5的kernel source
    Linux内核源代码的阅读及相关工具介绍(转)
    gcc生成静态库和动态库(转)
    写一篇大家一看就会的教程《JNI初步》(转)
    jni.h
    5分钟学用Lucene
    (VC2005) picture 控件显示16*16的Icon
    (VC/MFC)通过结构体传递参数给线程
    (VC2005)MFC中添加控件的成员变量.
  • 原文地址:https://www.cnblogs.com/caoleiCoding/p/6400209.html
Copyright © 2011-2022 走看看