2013-10-15 70 views
-1

我正在做一个作业问题,我不确定我的代码有什么问题。我一直在考虑的问题功课是:如何引用另一个对象

enter image description here

我收到以下错误信息:

enter image description here

到目前为止我的代码:

public class Person //This is the class 
{ 
    String firstName; 
    String familyName; 
    boolean isFemale; 
    Person partner; 
} 

我到目前为止的方法是:

Person getAngelinaJolie() //This is the method 
{ 
    Person person1 = new Person(); 
    person1.firstName = "Angelina"; 
    person1.familyName = "Jolie"; 
    person1.isFemale = true; 
    person1.partner.firstName = "Brad"; 
    person1.partner.familyName = "Pitt"; 
    return person1; 
} 
+1

这不是重复的,但你真的应该发布你的错误信息内联。 – chrylis

回答

0

您需要实例化Angelina的合作伙伴,并且我认为它将在Person的构造函数或getter方法中。

为了简单起见,你的任务,你就可以说

Person getAngelinaJolie() //This is the method 
{ 
    Person person1 = new Person(); 
    person1.firstName = "Angelina"; 
    person1.familyName = "Jolie"; 
    person1.isFemale = true; 
    person1.partner = new Person();//must create the object! 
    person1.partner.firstName = "Brad"; 
    person1.partner.familyName = "Pitt"; 
    return person1; 
} 
0

你声明的变量partner,可容纳一个Person,但你并没有真正把任何东西的变量中。尝试访问partner上的字段之前,请说person1.partner = new Person();

+0

是的,我做到了。现在它给了我这个错误 - http://prntscr.com/1xerjb @chylis – blueJavaMAN

+0

@blueJavaMAN这意味着还有其他代码在这个问题中没有显示。最有可能的是,您应该分配一个现有的“布拉德皮特”对象,而不是创建一个新对象,但是(1)我们必须查看代码,(2)将错误粘贴为文本而不是链接到图片。 – chrylis

+0

恩,是啊。在显示的说明中,它要求为合作伙伴创建并使用其他字段。但我不太清楚如何为合作伙伴使用额外的领域 – blueJavaMAN

0

您忘记初始化您的变量。与人合一,您键入

Person person1 = new Person(); 

而且是对的。然而,你忘了这样做与伙伴

编辑:为了将来的参考,包括你的内联错误。如果你没有,可以将你的IDE切换到eclipse或其他东西。

相关问题