На нестатический метод нельзя ссылаться из статического контекста - PullRequest
1 голос
/ 30 октября 2011

Я пытаюсь вызвать метод из другого класса, и из того, что я собрал, метод, который я пытаюсь вызвать, является методом экземпляра.Я понял, что это означает, что он использует переменные экземпляра объекта.Есть ли простой способ вызвать этот метод?

Это основной метод,

public void main()
{
    Test.testPetOwner();
}

И этот метод я пытаюсь вызвать в классе с именем "Test"

public void testPetOwner()
{
    String petName;
    String species;
    String hairCondition;
    String posture;

    testCompetitor();

    PetOwner petOwner1 = new PetOwner();

    System.out.println("What is the pet's name?");
    petName = Genio.getString();
    petOwner1.setPetName(petName);

    System.out.println("What is the species of the pet?");
    species = Genio.getString();
    petOwner1.setSpecies(species);

    System.out.println("What is the hair condition of the pet?");
    hairCondition = Genio.getString();
    petOwner1.setHairCondition(hairCondition);

    System.out.println("How is the pet's posture?");
    posture = Genio.getString();
    petOwner1.setPosture(posture);
}

Ответы [ 2 ]

1 голос
/ 30 октября 2011
public void main()
{
    Test t = new Test();
    t.testPetOwner();
}
0 голосов
/ 06 июня 2014

Если мы пытаемся получить доступ к методу экземпляра из статического контекста, у компилятора теперь есть способ угадать, какой метод экземпляра (переменная для какого объекта) вы тоже ссылаетесь. Хотя вы всегда можете получить к нему доступ, используя ссылку на объект.

...