快速Java继承

时间:2013-11-30 18:09:14

标签: java

好的,只是从我的教科书中练习圣诞节结局的问题,但我有时候不明白一些问题想要什么。

我有点迷失,它是否要我继承电子邮件测试员类?

问题: 使用main创建一个EmailTester类 使用Message类创建的方法 消息并打印出来。

public class Message{    
    String rep;
    String send;
    String mess = "message";


    public Message(String rep,String send){
        rep = "recipient";
        send = "sender";
        mess="";

    }
    public  void append(){          
        mess = " "+"blah blah";         
    }

    public String toString(){           
        mess = "From: Santa Clause\nTo: Rudolf Reindeer\n . . ."; 
        return mess;
    }
}

-

public class EmailTester {
    public static void main(String[] args){
        //?
    }    
}

5 个答案:

答案 0 :(得分:1)

你不需要像继承这么复杂的东西。如果您的课程有任何好处,您应该先学习创建对象,然后再学习继承,因为如果没有先了解创建简单对象,继承是没有意义的!

String output = new Message("foo", "bar").toString();
然后打印那个String。

答案 1 :(得分:0)

只有当一个类共享“是一种关系”时,它才应该继承另一个类。

  • EmailTester是一条消息:听起来不正确
  • 假设有一个Email类,那么Email就是一条消息 - 听起来不错

所以在你的情况下,不需要扩展Message类,而是创建Message类的实例并做必要的事情。

答案 2 :(得分:0)

消息消息=新消息(“blah”,“blah”):

答案 3 :(得分:0)

EmailTester with a main method which uses the Message class to make a message and print it.

显然,它表示具有关系(组合)。 EmailTester有一个Message。不需要继承。

当您感觉到关系时,会应用继承。例如汽车和车辆。

答案 4 :(得分:0)

将构造函数更改为:

public Message(String recipient, String sender){
        this.recipient = recipient;
        this.sender = sender;
        body = "";
}

变量名称无关紧要,但我认为它们更直观。重点是您希望Message的每个实例存储用于构造它的值。

然后在EmailTester中,您执行以下操作:

Message m = new Message("recipient", "sender");

你必须问你的教授在这种情况下“发送”消息意味着什么。

至于继承,我不知道它是如何适用的。也许您的导师希望在未来的练习中扩展内容,以便您有不同类型的消息。