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
        }
    }
    
    

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

  • 相关阅读:
    面向切面编程AOP
    多线程:Monitor、synchronized、volatile
    约束布局ConstraintLayout
    【转】StackTraceElement获取方法调用栈的信息
    Java中的Type
    Android App 架构演变
    Java泛型
    web测试方法总结
    机器学习 损失函数
    深度学习 激活函数
  • 原文地址:https://www.cnblogs.com/sogeisetsu/p/12216132.html
Copyright © 2011-2022 走看看