public class Test6
{
static class car
{
private String color;
private int year;
private car()//构造方法私有化,只能在本类中对此类进行实例对象,在其他的类中不能对类进行实例化,然后通过创建方法返回在本类中实例的对象。
{
}
public void setcar(String color,int year)
{
this.color=color;
this.year=year;
}
public static car c=null; //首先给声明一个对象,但是实例化,给其一个空值。
public static car getcar()
{
synchronized (car.class)
{
if(c==null)
{
c=new car();
//在方法中对声明的对象,进行实例化,在判断条件成立的前提下。
//只要类一加载,对象不会实例化,必须调用获得对象的方法才能实例化此对象。
}
}
return c;
}
public String toString()
{
return "车的颜色:"+color+" 年限: "+year;
}
}
public static void main(String[] args)
{
car c1=car.getcar();
c1.setcar("red",4);
System.out.println(c1);
car c2=car.getcar();
c2.setcar("blue",5);
System.out.println(c2);
}
} |