Я пытаюсь установить изображение в методе setFavoritePicture (Picture pRef)
. Этот метод должен установить любимый снимок, который будет вызываться в основном методе, но я продолжаю получать ошибку компилятора nonstatic variable pRef cannot be referenced from a static context
. Я относительно новым для Java, так что любая помощь вы могли бы предоставить мне было бы очень признателенНестатическая переменная pRef не может ссылаться на статический контекст
public class House
{
String owner;
Picture pRef;
Picture [] picArray;
Picture favPic;
public void showArtCollection()
{
ArtWall aWall = new ArtWall(600,600);
aWall.copyPictureIntoWhere(favPic,250,100);
aWall.copyPictureIntoWhere(picArray[0],51,330);
aWall.copyPictureIntoWhere(picArray[1],151,330);
aWall.copyPictureIntoWhere(picArray[2],351,280);
aWall.show();
}
public House (String param)
{
this.owner = param;
this.picArray = new Picture [3];
this.favPic = new Picture (FileChooser.pickAFile());
this.picArray [0] = new Picture (FileChooser.pickAFile());
this.picArray [1] = new Picture (FileChooser.pickAFile());
this.picArray [2] = new Picture (FileChooser.pickAFile());
}
public void setFavoritePicture (Picture pRef)
{
pRef = favPic;
}
public void setOneOtherPicture (int which,Picture pRef)
{
}
public void swapGivenOtherWithFavorite (int which)
{
Picture tempSaver;
tempSaver = pRef;
pRef = picArray [which];
picArray [which] = tempSaver;
}
public void addPicture (Picture pictureAdded)
{
pRef = pictureAdded;
}
public void showPicture()
{
picArray [0].explore();
picArray [1].explore();
picArray [2].explore();
favPic.explore();
}
public static void main (String [] args)
{
House PhDsHouse = new House ("Mad PH.D.");
PhDsHouse.setFavoritePicture (pRef);
PhDsHouse.swapGivenOtherWithFavorite (2);
PhDsHouse.showArtCollection();
}
}
Я не могу воспроизвести ошибку вашего компилятора (хотя, по общему признанию, мне пришлось изобретать все недостающие классы). Какая строка в вашем предыдущем коде является ошибкой? –
@ DuncanJones Jones Я только что исправил код, потому что понял, что одна часть отсутствует, ошибка появляется здесь 'PhDsHouse.setFavoritePicture (pRef);' – Bradley