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(),否则根本无法访问它。

  • 相关阅读:
    【大数据面试之对线面试官】MapReduce/HDFS/YARN面试题70连击
    2021年最新版大数据面试题全面总结-持续更新
    Hbase性能优化百科全书
    【大数据面试题】Flink第一弹60连发
    DockerFile
    Docker容器数据卷
    Docker入门
    八、Sentinel服务保护框架
    七、Gateway高可用集群与动态网关
    五、Nacos集群部署实现原理
  • 原文地址:https://www.cnblogs.com/caoleiCoding/p/6400209.html
Copyright © 2011-2022 走看看