Java 如何从构造函数返回带有预设字段的新实例
XHTML:Java 如何从构造函数返回带有预设字段的新实例,java,constructor,return-value,Java,Constructor,Return Value,XHTML: <p:carousel value="#{carouselView.cars}" var="car" itemStyleClass="carItem"> <h:panelGrid columns="2" style="width:100%" cellpadding="5" columnClasses="label,value"> <f:facet name="header"> <p:graph
<p:carousel value="#{carouselView.cars}" var="car" itemStyleClass="carItem">
<h:panelGrid columns="2" style="width:100%" cellpadding="5" columnClasses="label,value">
<f:facet name="header">
<p:graphicImage name="../images/cars/#{car.brand}.gif"/>
</f:facet>
<h:outputText value="Id:" />
<h:outputText value="#{car.id}" />
<h:outputText value="Year" />
<h:outputText value="#{car.year}" />
<h:outputText value="Color:" />
<h:outputText value="#{car.color}" style="color:#{car.color}"/>
我得到的错误是
原因:java.lang.NullPointerException
在com.abc.mmc.dto.CarouselView.init(CarouselView.java:35)
上,构造函数不应该返回任何内容。对于典型的(非常普通的Java对象),目标是使用指定的参数创建(或构造)对象
例如:
public class Car {
private String randomId;
private String randomBrand;
private String randomYear;
public Car(String randomId, String randomBrand, int randomYear) {
this.randomId = randomId;
this.randomBrand = randomBrand;
this.randomYear = randomYear;
}
//Getters and Setters follow
}
this.randomId=randomId
获取参数randomId
并将其分配给类变量this.randomId
这是普遍的惯例。下面是另一个代码片段,用于详细说明意图(尽管优先考虑前面的代码片段,假设您的变量命名良好):
如果您将参数传递给方法的构造函数而不使用它们,那么这是浪费时间。你只是在建造裸露的物体。获取传入参数并使用这些项目“设计”您的
Car
对象非常重要
编辑以下OP更新:
<p:carousel value="#{carouselView.cars}" var="car" itemStyleClass="carItem">
<h:panelGrid columns="2" style="width:100%" cellpadding="5" columnClasses="label,value">
<f:facet name="header">
<p:graphicImage name="../images/cars/#{car.brand}.gif"/>
</f:facet>
<h:outputText value="Id:" />
<h:outputText value="#{car.id}" />
<h:outputText value="Year" />
<h:outputText value="#{car.year}" />
<h:outputText value="Color:" />
<h:outputText value="#{car.color}" style="color:#{car.color}"/>
你在服务上得到一个NullPointerException.createCars(3)代码>因为您没有初始化CarService
对象:
private Car selectedCar;
private CarService service;
@PostConstruct
public void init() {
service = new CarService(); //Create your service object
cars = service.createCars(3);
}
构造函数不应该返回任何内容。对于典型的(非常普通的Java对象),目标是使用指定的参数创建(或构造)对象
例如:
public class Car {
private String randomId;
private String randomBrand;
private String randomYear;
public Car(String randomId, String randomBrand, int randomYear) {
this.randomId = randomId;
this.randomBrand = randomBrand;
this.randomYear = randomYear;
}
//Getters and Setters follow
}
this.randomId=randomId
获取参数randomId
并将其分配给类变量this.randomId
这是普遍的惯例。下面是另一个代码片段,用于详细说明意图(尽管优先考虑前面的代码片段,假设您的变量命名良好):
如果您将参数传递给方法的构造函数而不使用它们,那么这是浪费时间。你只是在建造裸露的物体。获取传入参数并使用这些项目“设计”您的Car
对象非常重要
编辑以下OP更新:
<p:carousel value="#{carouselView.cars}" var="car" itemStyleClass="carItem">
<h:panelGrid columns="2" style="width:100%" cellpadding="5" columnClasses="label,value">
<f:facet name="header">
<p:graphicImage name="../images/cars/#{car.brand}.gif"/>
</f:facet>
<h:outputText value="Id:" />
<h:outputText value="#{car.id}" />
<h:outputText value="Year" />
<h:outputText value="#{car.year}" />
<h:outputText value="Color:" />
<h:outputText value="#{car.color}" style="color:#{car.color}"/>
你在服务上得到一个NullPointerException.createCars(3)代码>因为您没有初始化CarService
对象:
private Car selectedCar;
private CarService service;
@PostConstruct
public void init() {
service = new CarService(); //Create your service object
cars = service.createCars(3);
}
构造函数不应该返回任何内容。对于典型的(非常普通的Java对象),目标是使用指定的参数创建(或构造)对象
例如:
public class Car {
private String randomId;
private String randomBrand;
private String randomYear;
public Car(String randomId, String randomBrand, int randomYear) {
this.randomId = randomId;
this.randomBrand = randomBrand;
this.randomYear = randomYear;
}
//Getters and Setters follow
}
this.randomId=randomId
获取参数randomId
并将其分配给类变量this.randomId
这是普遍的惯例。下面是另一个代码片段,用于详细说明意图(尽管优先考虑前面的代码片段,假设您的变量命名良好):
如果您将参数传递给方法的构造函数而不使用它们,那么这是浪费时间。你只是在建造裸露的物体。获取传入参数并使用这些项目“设计”您的Car
对象非常重要
编辑以下OP更新:
<p:carousel value="#{carouselView.cars}" var="car" itemStyleClass="carItem">
<h:panelGrid columns="2" style="width:100%" cellpadding="5" columnClasses="label,value">
<f:facet name="header">
<p:graphicImage name="../images/cars/#{car.brand}.gif"/>
</f:facet>
<h:outputText value="Id:" />
<h:outputText value="#{car.id}" />
<h:outputText value="Year" />
<h:outputText value="#{car.year}" />
<h:outputText value="Color:" />
<h:outputText value="#{car.color}" style="color:#{car.color}"/>
你在服务上得到一个NullPointerException.createCars(3)代码>因为您没有初始化CarService
对象:
private Car selectedCar;
private CarService service;
@PostConstruct
public void init() {
service = new CarService(); //Create your service object
cars = service.createCars(3);
}
构造函数不应该返回任何内容。对于典型的(非常普通的Java对象),目标是使用指定的参数创建(或构造)对象
例如:
public class Car {
private String randomId;
private String randomBrand;
private String randomYear;
public Car(String randomId, String randomBrand, int randomYear) {
this.randomId = randomId;
this.randomBrand = randomBrand;
this.randomYear = randomYear;
}
//Getters and Setters follow
}
this.randomId=randomId
获取参数randomId
并将其分配给类变量this.randomId
这是普遍的惯例。下面是另一个代码片段,用于详细说明意图(尽管优先考虑前面的代码片段,假设您的变量命名良好):
如果您将参数传递给方法的构造函数而不使用它们,那么这是浪费时间。你只是在建造裸露的物体。获取传入参数并使用这些项目“设计”您的Car
对象非常重要
编辑以下OP更新:
<p:carousel value="#{carouselView.cars}" var="car" itemStyleClass="carItem">
<h:panelGrid columns="2" style="width:100%" cellpadding="5" columnClasses="label,value">
<f:facet name="header">
<p:graphicImage name="../images/cars/#{car.brand}.gif"/>
</f:facet>
<h:outputText value="Id:" />
<h:outputText value="#{car.id}" />
<h:outputText value="Year" />
<h:outputText value="#{car.year}" />
<h:outputText value="Color:" />
<h:outputText value="#{car.color}" style="color:#{car.color}"/>
你在服务上得到一个NullPointerException.createCars(3)代码>因为您没有初始化CarService
对象:
private Car selectedCar;
private CarService service;
@PostConstruct
public void init() {
service = new CarService(); //Create your service object
cars = service.createCars(3);
}
构造函数不返回任何内容。
您可能希望在构造函数中设置一些从参数到对象的值。
比如:
public class Car {
private String randomId;
private String randomBrand;
private int randomYear;
public Car(String randomId, String randomBrand, int randomYear) {
this.randomId = randomId;
this.randomBrand = randomBrand;
this.randomYear = randomYear;
}
}
构造函数不返回任何内容。
您可能希望在构造函数中设置一些从参数到对象的值。
比如:
public class Car {
private String randomId;
private String randomBrand;
private int randomYear;
public Car(String randomId, String randomBrand, int randomYear) {
this.randomId = randomId;
this.randomBrand = randomBrand;
this.randomYear = randomYear;
}
}
构造函数不返回任何内容。
您可能希望在构造函数中设置一些从参数到对象的值。
比如:
public class Car {
private String randomId;
private String randomBrand;
private int randomYear;
public Car(String randomId, String randomBrand, int randomYear) {
this.randomId = randomId;
this.randomBrand = randomBrand;
this.randomYear = randomYear;
}
}
构造函数不返回任何内容。
您可能希望在构造函数中设置一些从参数到对象的值。
比如:
public class Car {
private String randomId;
private String randomBrand;
private int randomYear;
public Car(String randomId, String randomBrand, int randomYear) {
this.randomId = randomId;
this.randomBrand = randomBrand;
this.randomYear = randomYear;
}
}
你不需要归还任何东西。构造函数没有返回值。它具有初始化功能 您不需要返回任何内容。构造函数没有返回值。它具有初始化功能 您不需要返回任何内容。构造函数没有返回值。它具有初始化功能 您不需要返回任何内容。构造函数没有返回值。它具有初始化功能 在这样一个简单的构造函数中,我根本不会返回任何值。由于更加复杂,特别是依赖于外部源,我可能会添加一个布尔值来表示构造是否成功 在这样一个简单的构造函数中,我根本不会返回任何值。由于更加复杂,特别是依赖于外部源,我可能会添加一个布尔值来表示构造是否成功 在这样一个简单的构造函数中,我根本不会返回任何值。由于更加复杂,特别是依赖于外部源,我可能会添加一个布尔值来表示构造是否成功 在这样一个简单的构造函数中,我根本不会返回任何值。由于更加复杂,特别是依赖外部资源,我可能会添加一个bo