Java 在默认构造函数中初始化属性
我在做作业的时候被卡住了,我很难理解下一步该做什么。因此,我的指示如下:Java 在默认构造函数中初始化属性,java,this,enumeration,overloading,delegation,Java,This,Enumeration,Overloading,Delegation,我在做作业的时候被卡住了,我很难理解下一步该做什么。因此,我的指示如下: 创建一个名为Card的新类。“来自超类的构造函数”复选框将在代码中创建构造函数存根 在名为Suit的新源文件中创建枚举类型,其值为NONE、CLUBS、HEARTS、SPADES、DIAMONDS 在与Card类相同的包中的新源文件中创建一个枚举类型,称为Rank,其值为JOKER,TWO,TWO,TWO,TWO,TWO,TWO,TWO,TWO,TWO,JACK,QUEEN,KING,ACE 在类卡中, A) 创建类
Card
的新类。“来自超类的构造函数”复选框将在代码中创建构造函数存根
Suit
的新源文件中创建枚举类型,其值为NONE
、CLUBS
、HEARTS
、SPADES
、DIAMONDS
Card
类相同的包中的新源文件中创建一个枚举类型,称为Rank
,其值为JOKER
,TWO
,TWO
,TWO
,TWO
,TWO
,TWO
,TWO
,TWO
,TWO
,JACK
,QUEEN
,KING
,ACE
卡中,
A) 创建类型为rank
的名为rank
的类属性(字段)
B) 创建一个名为suit
的类属性(字段),类型为suit
C) 为这些字段创建getter和setter。将设置者设置为私有,因为我们只希望构造器设置卡Suit
和Rank
(例如,我们不希望程序员或用户设置多个俱乐部的ACE
)
套装
和等级
的构造函数,并使用这些值设置属性
suit
和rank
属性。使用此构造函数调用在上一步中创建的构造函数,并使用您选择的值初始化等级和等级(例如:rank.ACE
,suit.CLUBS
)
卡
,以演示默认的构造函数初始化
Suit
和Rank
构造函数构造一些额外的卡。使用局部变量保存对象
toString()
方法,打印创建的每张卡的套装
和等级
Deck
类,该类包含一个字段,该字段是由54张卡组成的数组(包含)
牌组
类上创建一个构造函数,使用迭代套装
和等级
值的for
循环,使用标准牌组和两个小丑初始化卡数组,并使用适当的卡
构造函数设置数组成员。请记住,这两个小丑只作为NONE
套装存在,只有小丑才使用NONE
套装。对于只创造两个小丑,有许多可能的解决方案。我使用了一个迭代器,将它们从循环中删除,并在开始时单独添加它们。使用if
语句为每个循环排除中的小丑,并在循环之前或之后添加他们
Deck
类中创建一个toString()
方法,使用另一个for
循环,通过调用每个卡上的toString()
方法来打印数组中的所有卡。此方法仅通过调用Card
对象上的toString()
来“要求”卡打印其等级和西装。此方法中的任何地方都不应提及Rank
或Suit
。让Card
的toString()
方法完成工作(委派)
Deck
类中创建一个创建Deck
的main
方法。然后使用System.out.println()
打印数据组。这将调用Deck
的toString()
方法,该方法将在每个卡上调用toString()
,打印整个卡片组
构造函数用于初始化对象的实例。setter用于设置变量的值,getter返回该值。看看下面的例子
public class Test {
//private members of the instance
private String strVariable;
private int intVariable;
//constructor
//constructor sets the values of strVariable and intVariable when a Test object is intialized
public Test(String strVariable, String intVariable) {
this.strVariable = strVariable;
this.intVariable = intVariable;
}
//setter method for setStrVariable
//this will overwrite the value of setStrVariable that was assinged when the object was intilized
public void setStrVariable(String strVariable) {
this.strVariable = strVariable;
}
//getter for the setStrVariable
//this will return the value of setStrVariable
public String getStrVariable() {
return this.strVariable;
}
}
所以不是这样的。不要期望你可以复制粘贴你的作业和代码;我们利用空闲时间通读了所有这些,以找出你到底被困在哪里;你的问题是。。。等等坦率地说:忘了那件事吧。描述一下你到目前为止尝试了什么,以及你到底被困在哪里。好吧,我想我正确地完成了步骤4/5。我只是需要帮助理解我是否正确地执行了第5步,并需要有人解释第6步希望我做什么?我刚刚发布到whole thing,以便更好地了解需要做什么,以及之前可能会弄糟的步骤。还有,究竟需要哪些getter和setter?如何创建一个接受Suit和Rank的构造函数,并使用这些值来设置属性。
public class Test {
//private members of the instance
private String strVariable;
private int intVariable;
//constructor
//constructor sets the values of strVariable and intVariable when a Test object is intialized
public Test(String strVariable, String intVariable) {
this.strVariable = strVariable;
this.intVariable = intVariable;
}
//setter method for setStrVariable
//this will overwrite the value of setStrVariable that was assinged when the object was intilized
public void setStrVariable(String strVariable) {
this.strVariable = strVariable;
}
//getter for the setStrVariable
//this will return the value of setStrVariable
public String getStrVariable() {
return this.strVariable;
}
}