java constructor privatization

The package constructor privatizes monomorphic mode;
 class preson{
     private  static preson newperson = new preson();
     private String name = "" ;
     private preson() { // package constructor 
        this .name = "Wang Wu" ;
    }
    public static preson getPreson() {
        return newperson;
    }
    public String getName() {
        return this.name;
    }
    public void setName(String n) {
        this.name = n;
    }
}
public  class monomorphic pattern {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        preson r1 = preson.getPreson();
        preson r2 = preson.getPreson ();
        preson r3 = preson.getPreson ();
        r2.setName( "Zhang San" );
        System.out.println(r3.getName()); // Output Zhang San 
    }

}

The monomorphic design pattern should be used where one class does not want to produce multiple objects.

Multiple stack memories point to the same heap memory.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324905350&siteId=291194637