在java中的另一个类中创建对象

在java中的另一个类中创建对象,java,object,Java,Object,我最近开始在学校用Java编程,在最近的一次练习中遇到了一些问题 我现在有一个目标电话,可以是手机号码,也可以是固定电话。 现在我想创建另一个类,包含联系人详细信息。在这些联系方式中,应该有两个电话对象:一个手机号码(gsm)和一个固定电话号码(电话)。电话号码的种类是在课堂上宣布的 我的问题是如何更改ContactDetails类的初始化,以接受两个新的电话对象。我到底做错了什么 提前谢谢 public class Telephone { private String sort;

我最近开始在学校用Java编程,在最近的一次练习中遇到了一些问题

我现在有一个目标电话,可以是手机号码,也可以是固定电话。 现在我想创建另一个类,包含联系人详细信息。在这些联系方式中,应该有两个电话对象:一个手机号码(gsm)和一个固定电话号码(电话)。电话号码的种类是在课堂上宣布的

我的问题是如何更改ContactDetails类的初始化,以接受两个新的电话对象。我到底做错了什么

提前谢谢

public class Telephone {
    private String sort;
    public String number;

    public Telephone(String sort, String number) {
        this.sort = sort;
        this.number = number;
    }

    public String getSort() {
        return sort;
    }

    public String getNumber() {
        return number;
    }

    public boolean isValidnumber(){
        if(number.startsWith("0")) {
            if (getSort() == "landline" && number.length() == 9) {
                return true;
            } else if (getSort() == "mobile" && number.length() == 10) {
                return true;
            } else return false;
        }
        else return false;
    }
}

public class ContactDetails {
    private String eMail;
    Telephone telephone = new Telephone("landline", Telephone.number);
    Telephone gsm = new Telephone("mobile", Telephone.number);

    public ContactDetails(String eMail, Telephone telephone, Telephone gsm){
        this.eMail = eMail;
        this.telephone = telephone;
        this.gsm = gsm;
    }
}

这里有两个问题:

  • 初始化
    电话
    gsm时,不能将其声明为
    Telefoon
    ,因为该类不存在

  • 您必须使用数字字符串初始化电话
    Telephone.number
    指的是
    Telephone
    对象的
    number
    字符串,由于您刚刚初始化
    电话
    ,该字符串还不存在

  • 为了使这两项功能都能正常工作,请将
    ContactDetails
    中的
    Telephone
    的两个初始化更改为如下内容:

    Telephone telephone = new Telephone("landline", "5555555555");
    Telephone gsm = new Telephone("mobile", "5555555555");
    

    你的问题到底是什么?你的问题是什么?是否存在编译时或运行时错误?在ContactDetails()构造函数之外初始化电话对象没有意义。而且,这种尝试的方式是错误的。而且,这段代码甚至没有编译。我会跑到医生那里,继续说“我病了,请治好我”,但不会告诉医生我有什么问题!!另外,这个
    getSort()==“landline”
    也不起作用。您需要使用
    equals()
    方法比较字符串。感谢您的回答,第二个问题:这意味着我应该使用随机选择的字符串来初始化它?@MeesVankaam您可以使用您想要存储的任何电话号码来初始化它。我用了一堆5s来创建我的,只是作为一个演示,但你可以在这个字符串中存储任何电话号码。