我有一个简单的问题
假设我要创建一个名为Campaign
的数据定义类然后我想创建一个实现类
让我们在这个实现类中说我有一些变量(campaignName,campaignType,campaignGoal)和一些方法(getCampName,getCampType,getCampGoal)。
我想创建两个不同的广告系列类,然后将程序末尾的信息与打印方法进行比较。
这是宣布第一个广告系列信息的正确方法吗?
Campaign campaign1 = new Campaign();
这是主要的方法,然后让我们说我想得到第一个广告系列的名称,现在只是硬编码
public static String campaign1.getCampName(){
campaign1.setCampName("IT Student Scholarship Fund");
}
我只是想知道如何做到这一点。谢谢。
答案 0 :(得分:2)
getCampName()应该类似于:
public String getCampName() { return this.campaignName; }
然后简单地
campaign1.getName();
答案 1 :(得分:1)
您应该停止将所有代码放在main方法中的做法。而是使用主类中的驱动程序方法实例化Campaign实例并在每个实例上调用方法。此外,您可以覆盖equals()方法来进行比较(或实现Comparator)。
public class CampaignTest{
public void runTest(){
Campaign c1 = new Campaign("First Campaign");
Campaign c2 = new Campaign("Second Campaign");
Campaign c11 = new Campaign("First Campaign");
System.out.println("c1==c2: " + c1.equals(c2));
System.out.println("c2==c11: " + c2.equals(c11));
System.out.println("c1==c11: " + c1.equals(c11));
}
public static void main(String... args){
CampaignTest test = new CampaignTest();
test.runTest();
}
private class Campaign{
private String name;
public Campaign(String n){
this.name = n;
}
public String getName(){
return name;
}
@Override
public boolean equals(Object other){
if(other instanceof Campaign && ((Campaign)other).getName().equals(name)){
return true;
}
return false;
}
}
}