当使用谷歌服务库时,我在Android编程中看到了一种编码风格,在初始化类实例后使用dots调用方法。
例如,假设我有一个Person类:
public class Person {
private String firstName;
private String lastName;
private String occupation;
private String primarySkill;
private String secondarySkill;
/* ******************
* CONSTRUCTOR
* ******************/
public Person(String firstName, String lastName) {
setFirstName(firstName);
setLastName(lastName);
}
/* ******************
* MUTATORS
* ******************/
// firstName Setter:
public void setFirstName(String firstName) {
this.firstName = firstName;
}
// lastName Setter:
public void setLastName(String lastName) {
this.lastName = lastName;
}
// occupation Adder:
public void addOccupation(String occupation) {
this.occupation = occupation;
}
// primarySkill Adder:
public void addPrimarySkill(String primarySkill) {
this.primarySkill = primarySkill;
}
// secondarySkill Adder:
public void addSecondarySkill(String secondarySkill) {
this.secondarySkill = secondarySkill;
}
}
现在,当我创建这个类的实例时,我希望能够执行以下操作:
Person bob = new Person("Bob", "Anderson")
.addOccupation("Student")
.addPrimarySkill("Java")
.addSecondarySkill("SQL");
然而,这给了我语法错误。我如何构建一个类来实现这一点?
这是使用生成器模式的典型案例。生成器模式中的setter返回
您应该有“setter”方法返回对象的类型。要在addXyx方法的基础上构建:
public Person setLastName(String lastName) {
this.lastName = lastName;
return this;
}
public Person addOccupation(String occupation) {
this.occupation = occupation;
return this;
}
public Person addPrimarySkill(String primarySkill) {
this.primarySkill = primarySkill;
return this;
}
public Person addSecondarySkill(String secondarySkill) {
this.secondarySkill = secondarySkill;
return this;
}
这样,您就可以链接setter调用:
Person bob = new Person("Bob", "Anderson")
.addOccupation("Student")
.addPrimarySkill("Java")
.addSecondarySkill("SQL");
你要找的是所谓的方法链接。修改设置器以返回此:
// occupation Adder:
public Person addOccupation(String occupation) {
this.occupation = occupation;
return this;
}
在正方形应该移动的地方初始化。KeyListener继承自GameAssistant(JFrame是用KeyListener创建的) }
据我所知,在Java11中,这两个操作可以在一行中完成,不是吗?
问题内容: 假设我有类,并且其中的类具有可读和可写的属性: 是否可以只使用该方法而只使用该方法? 问题答案: 不可以,无法分配每个类别的访问权限。 考虑将您的类分为单独的接口,以便每个类仅获得一个具有所需接口的对象。例如: 当然,这涉及安全性,但这应该使您朝正确的方向进行思考。
这是我想用typescript中的mocha chai测试框架测试的类。我用ts mockito来模仿。 ClassAResource类看起来像这样, 在我的测试中,我试图模仿ClassAResource的getJob方法,如下所示, 我这样调用ClassA cancel方法, 我希望取消方法中的getJobs调用被模拟并返回一个作业对象。 但是这次考试并没有按照我的预期进行。Mock不会出现在图
问题内容: 用Java开发一个简单的井字游戏。 我有一个名为的课程。此类应包含有用的游戏方法。游戏发生在另一个班级。 中的方法是。该方法应该将所有9个按钮(井字游戏板)上的文本设置为空白,再次将它们设置为启用,然后将变量设置为1。 这是它的代码: 是游戏主类中的JButtons数组。 该方法以前在游戏的主要类中使用。但是现在它在不同的类中,它无法到达该类中的按钮并对其进行操作。 我在中创建了get
我是一名It专业的一年级学生。我们的任务是为最终项目的支付系统创建一个概念方案。我们决定做一个工资项目。下面是我使用JOptionFrame和JOptionPane的代码片段 由于分配给工资变量的数字取决于工作职位,为了计算准确,我必须从if语句中调用它。有人有解决方案吗?