问题
I'm doing an homework question, and not sure what is wrong with my code. The question is: http://prntscr.com/1xe4gd.
My code so far:
public class Person //This is the class
{
String firstName;
String familyName;
boolean isFemale;
String partner;
}
My method so far is:
Person getAngelinaJolie()
{
Person person1 = new Person();
person1.firstName = "Angelina";
person1.familyName = "Jolie";
person1.isFemale = false;
person1.partner.firstName = "Brad";
person1.partner.familyName = "Pitt";
return person1;
}
When I compile, error says "cannot find symbol - variable firstName". Could anyone please help me with this. Not sure why it cant find the symbol.
回答1:
You have defined String partner; in class Person, but I suppose you mean Person partner; then you will be able to set it's properties after person1.partner = new Person(); of course
here is the proper code:
Person getAngelinaJolie()
{
Person person1 = new Person();
person1.firstName = "Angelina";
person1.familyName = "Jolie";
person1.isFemale = true;
person1.partner = new Person();
person1.partner.firstName = "Brad";
person1.partner.familyName = "Pitt";
person1.partner.isFemale = false;
person1.partner.partner = person1;
return person1;
}
回答2:
public class Person //This is the class
{
String firstName;
String familyName;
boolean isFemale;
Person partner;
}
and the same method now
Person getAngelinaJolie()
{
Person person1 = new Person();
person1.firstName = "Angelina";
person1.familyName = "Jolie";
person1.isFemale = false;
person1.partner.firstName = "Brad";
person1.partner.familyName = "Pitt";
return person1;
}
now person.partner.firstname will refer to the already defined Person partner in Person
来源:https://stackoverflow.com/questions/19371561/how-to-reference-to-another-object-in-java