zoukankan      html  css  js  c++  java
  • java构造函数私有化

    构造函数私有化的意义在于声明多个对象却只占用一个内存。

    写一个类

    class SY {//构造函数私有
        private static SY instance = new SY();//通过私有的静态的方式来声明一个属性,这个属性的名字是instance,类型是SY,指向一个新生成的内存
    
        private SY() {//将构造函数私有化
    
        }
    
        public static SY getinstance() {
            return SY.instance;//返回instance
        }//构造函数私有化的意义是不管声明几个对象,都只实例化了一个,也就是说,只占用了一个内存。
    
        private String name = "小明";
        private int age = 12;
        public void setName(String name){
            this.name=name;
        }
        public void setAge(int age){
            this.age=age;
        }
        public String getName(){
            return this.name;
        }
        public int getAge(){
            return this.age;
        }
    }
    
    class SYY {
        public static void main(String[] args) {
            SY a = SY.getinstance();
            SY b = SY.getinstance();
            System.out.println(a);
            System.out.println(b);
            System.out.println(a == b);//true,并且a和b返回的地址一样
            a.setAge(12);
            b.setAge(14);
            System.out.println(a==b);
            System.out.println(a.getAge());//14
            System.out.println(b.getAge());//14
        }
    }
    
    

    具体我画了内存图
    在这里插入图片描述

  • 相关阅读:
    【mybatis】02-spring集成
    【Spring】xxAware
    【性能调优】Arthas
    【算法】其他算法(字典树Trie等)
    【多线程】JDK源码类图
    POJ-1251-Jungle Roads
    Prim算法模板
    敌兵布阵-线段树(1)
    hdu-1541-Stars (树状数组)
    母牛生小牛
  • 原文地址:https://www.cnblogs.com/sogeisetsu/p/12216132.html
Copyright © 2011-2022 走看看