
一、单例的作用是用于控制类的生成方式,而不让外部类任意new对象
1.Car.java
import java.util.ArrayList;
import java.util.List; public class Car { //私有化构造函数,防止被外部的类new
private Car() {
} private static Car car = new Car(); //单例
private static List<Car> cars = new ArrayList<Car>(); //多例,类似连接池 public static Car getInstance() {
return car;
} public void run() {
System.out.println("Car running...............");
} }
2.Test.java
public class Test { @org.junit.Test
public void test() {
Car car = Car.getInstance();
car.run();
Car car2 = Car.getInstance();
System.out.println(car == car2);
System.out.println(car.equals(car2));
}
}
运行结果: