好的,我遇到了问题。
我有两个类:ImageHandler和PixelHandler。
在我的ImageHandler类中,我声明了:
public class ImageHandler{
private static BufferedImage myImage;
...
我尝试在PixelHandler中恢复myImage:
public class PixelHandler{
private int [] pix;
public int checkNumOfWindows(){
for(int x= 0; x < 1280; x++){
for(int y =0; y < 800; y++){
pix = myImage.getRGB(x, y, 6, 7, experimentalPattern, 0, 6);
}
}
}
...
当我尝试收到错误消息时:
找不到符号 - 变量myImage
有什么建议吗?
答案 0 :(得分:2)
您的意思是扩展ImageHandler
类吗?
public class PixelHandler extends ImageHandler {
/* ... */
}
此外,派生类无法访问其父项的私有数据成员。如果您将变量声明为protected,则子类将能够访问它:
protected static BufferedImage myImage;
答案 1 :(得分:0)
private
变量对类是私有的(也不是继承的),这意味着您无法从另一个类访问它们。如果PixelHandler是Image处理程序的扩展,那么你应该将myImage声明为protected
,而不是private
。否则,您应该使用ImageHandler.myImage
来访问此变量,或者更好的是,在ImageHandler中声明一个静态方法来获取此变量。