打印对象的特定变量

时间:2018-03-13 15:21:41

标签: java object constructor

这可能是一个糟糕的问题,但我在java中构建了一个DVD对象:

DVD myDVD = new DVD (11.17 , 9 , 120 , " Howl ’s Moving Castle " , " Hayao Miyazaki " );

我有一个toString打印整个对象,但是我被要求在没有剩下的情况下打印导演(宫崎骏),有没有办法做到这一点?

如果您需要更多信息以获得帮助,请发表评论。感谢

3 个答案:

答案 0 :(得分:0)

假设您的代码是Java代码,在DVD类中,您可以覆盖toString方法以打印您想要的内容:

public class DVD {

    private String director;
    //more fields and stuff

    @Override
    public String toString() {
        return director;
    }

}

如果您已经有toString实施并需要另一个,您可以添加另一种方法来获取导演:

public String getDirector(){
    return director;
}

并打印出来:

System.out.print(myDVD.getDirector());

或者您可能想要一种方法来进行打印:

public void printDirector() {
    System.out.println(director);
}

答案 1 :(得分:0)

为导演创建一个get方法

public String getDirector(){
    return director;
}

System.out.print(myDVD.getDirector());

答案 2 :(得分:0)

你可以像编写一个新方法printDirector()一样简单,就可以做到这一点,或者......

您可以将责任的信息打印到其他类,并使DVD对象负责仅用于提供其信息:

public class Movies {
    public class DVD {

        private director;

        public DVD(String director) {
            this.director = director;
        }

        public String getDirector() {
            return director;
        }
    }

    public static void main(String... arg) {
        DVD howl = new DVD("Miyazaki");
        String director = howl.getDirector();
        SomePrinterClass.print(director);
    }
}

最终,这是一个设计决定,要么会产生相同的结果。