public class Test {
public static void main(String[] args) {
//声明一个Person p
Person p;
//虽然私有化Person类的构造方法,但是可以通过其共有接口获得Person的实例化对象
p=Person.getPersion();
System.out.println(p);
//声明一个Person p2
Person p2;
p2=Person.getPersion();
p2.setAge(33);
System.out.println(p2);
// Person person = new Person();
}
}
class Person{
private String name;
private int age;
//内部实例化
private static final Person PERSON = new Person();
//私有构造方法,外部无法通过其构造方法来产生实例化对象。
private Person(){
name ="河西彭于晏";
}
public static Person getPersion(){
return PERSON;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
实例PERSON 是static的,全局共享一个,所以无论外部声明多少个对象,最终获得的实例都是同一个
构造方法是privite,所以Person person = new Person(); 不再可行