建構函式引用
建構函式引用有助於指向建構函式方法。建構函式引用透過“::new”符號進行訪問。
//Constructor reference Factory vehicle_factory = Vehicle::new;
以下示例展示了 Java 8 及更高版本中建構函式引用的工作方式。
interface Factory {
Vehicle prepare(String make, String model, int year);
}
class Vehicle {
private String make;
private String model;
private int year;
Vehicle(String make, String model, int year){
this.make = make;
this.model = model;
this.year = year;
}
public String toString(){
return "Vehicle[" + make +", " + model + ", " + year+ "]";
}
}
public class FunctionTester {
static Vehicle factory(Factory factoryObj, String make, String model, int year){
return factoryObj.prepare(make, model, year);
}
public static void main(String[] args) {
//Constructor reference
Factory vehicle_factory = Vehicle::new;
Vehicle carHonda = factory(vehicle_factory, "Honda", "Civic", 2017);
System.out.println(carHonda);
}
}
輸出
Vehicle[Honda, Civic, 2017]
廣告