试图从另一个类访问String?

时间:2015-12-02 21:34:56

标签: java bluej

我无法访问String课程中的Picture说明,无法在PhotoViewer课程中使用该说明。我创建了一个getter方法,所以我不明白为什么我会收到错误

  

找不到符号 - 方法getDescription()。

以下是代码:

/**
 * Write a description of class Picture here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Picture extends Attachment
{
    protected String description;
    protected String height;
    protected String width;

    /**
     * Constructor for objects of class Picture
     */
    public Picture(String filename, long size, String description, String height, String width)
    {
        this.filename = filename;
        this.size = size;
        this.description = description;
        this.height = height;
        this.width = width;
    }

    /**
     * Prints out the details of a picture attachment.
     */
    public void preview()
    {
        System.out.println("Filename: " + filename);
        System.out.println("Size: " + size);
        System.out.println("Description: " + description);
        System.out.println("Height: " + height);
        System.out.println("Width: " + width);
    }

    /**
     * Getter method that returns the description
     */
    public String getDescription()
    {
        return description;
    }
}

/**
 * Application to open and view photos
 * 
 * @author Chandler Warren 
 * @version 12-1-15
 */
public class PhotoViewer extends Application
{
    Picture picture;

    /**
     * Constructor for objects of class PhotoViewer
     */
    public PhotoViewer()
    {

    }

    /**
     * Abstract method to open the attachment
     */
    public void open(Attachment picture)
    {
        System.out.println("I am the PhotoViewer. You are viewing a picture of " + getDescription());
    }
}

New error encountered when trying to initiate picture

2 个答案:

答案 0 :(得分:1)

这是解决方案。我用过铸造。

enter image description here

答案 1 :(得分:0)

public void open(Attachment picture)
{
    System.out.println("I am the PhotoViewer. You are viewing a picture of " + picture.getDescription());
}

假设picture被正确设置(如果你想使用实例变量或方法变量,这个例子调用方法变量,但this.picture会调用实例变量)。 getDescription()是一个实例方法,因此必须从对象中调用。