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

  • 相关阅读:
    Django的model form
    Django之验证码
    ajax获取跨域数据
    js+css模仿打字效果
    CSS自定义消息提示
    CSS画各种二维图形
    最简单的动态进度条
    利用javascript(自定义事件)记录尺寸可变元素的尺寸变化过程
    超级简单的利用javascript实现文件拖拽事件
    javascript 公历与农历相互转换工具类
  • 原文地址:https://www.cnblogs.com/caoleiCoding/p/6400209.html
Copyright © 2011-2022 走看看