class Person
{
static Person p = new Person(); // 由于此声明在类内部,可以使用 new Person() 来创建新对象。声明为static,表明此类只能创建一个对象
String name;
int age;
private Person() 构造函数声明为private,类外部不可以用 new Person() 来创建新的对象
{
}
static Person getIntance() //此方法返回一个Person对象,用于外部类创建Person对象,声明为static则外部可用Person.getIntance()来构建对象
{
return p;
}
}
class Leason32
{
public static void main(String[] args)
{
//Person p1 = new Person();
Person p1 = Person.getIntance(); //构建Person对象实例
p1.name = "ye";
p1.age = 12;
Person p2 = Person.getIntance(); //再次构建Person对象实例
System.out.println(p2.name+p2.age); //取出p2实例的成员数据,因构建函数没有做任何动作,name=null,age=0,但此时输出为ye12,因Person只能构建一次,p2不能完成动作
}
}
{
static Person p = new Person(); // 由于此声明在类内部,可以使用 new Person() 来创建新对象。声明为static,表明此类只能创建一个对象
String name;
int age;
private Person() 构造函数声明为private,类外部不可以用 new Person() 来创建新的对象
{
}
static Person getIntance() //此方法返回一个Person对象,用于外部类创建Person对象,声明为static则外部可用Person.getIntance()来构建对象
{
return p;
}
}
class Leason32
{
public static void main(String[] args)
{
//Person p1 = new Person();
Person p1 = Person.getIntance(); //构建Person对象实例
p1.name = "ye";
p1.age = 12;
Person p2 = Person.getIntance(); //再次构建Person对象实例
System.out.println(p2.name+p2.age); //取出p2实例的成员数据,因构建函数没有做任何动作,name=null,age=0,但此时输出为ye12,因Person只能构建一次,p2不能完成动作
}
}