当前位置: 首页 > 知识库问答 >
问题:

解释错误:“构造函数…无法应用:实际长度和形式长度不同”

拓拔嘉运
2023-03-14

请帮助我修复此错误:

C10h1类中的构造函数College成员。College成员不能应用于给定类型;必需:java.lang.字符串,java.lang.字符串;找到:没有参数;原因:实际参数和正式参数长度不同

我还尝试添加一个默认构造函数来调用super,但它只是给了我另一个错误!

代码:

class C10h1
{

        public static void main(String[] args)
        {
        Student s = new Student("Bert", 2, "555-5555");
        System.out.println("name = " + s.getName());
        System.out.println("year = " + s.getYear());
        System.out.println("telephone = " + s.getTelNumber()); 
        Professor p = new Professor("Jane", 1, "555-9999");
        System.out.println("name = " + p.getName());
        System.out.println("rank = " + p.getRank());
        System.out.println("telephone = " + p.getTelNumber()); 
        }
}
class CollegeMember
{


    String name, telNumber;
    public CollegeMember(String a, String b) 
    {
        name = a; 
        telNumber = b; 
    }
    public String getName()
    {
        return name;
    }
    public String getTelNumber()
    {
        return telNumber;
    }
}
class Student extends CollegeMember
{

    int year;
    public Student(String name, int year, String telNumber)
    {
       name = super.getname();
       year = year;
       telNumber = super.getTelNumber();
    }
    public int getYear()
    {
        return year;
    }
}
class Professor extends CollegeMember
{

    int rank;
    public Professor(String name, int rank, String telNumber)
    {
       name = super.getname();
       rank = rank;
       telNumber = super.getTelNumber();
    }
    public int getRank()
    {
        return rank;
    }
}

问题提示:

创建3个公共类:CollegeMember、Student和Professor。学生和教授是学院成员的子类。CollegeMember有一个字符串名称字段和一个字符串电话号码字段。其构造函数有2个参数,为名称和电话号码字段提供初始值。CollegeMember还有访问器方法getName和getTelNumber,分别返回name和telNumber。学生有一个int year字段(1=第一年,2=第二年,3=第三年,4=第四年)。其构造函数有3个参数:name、year和telNumber,它们为name、year和telNumber字段提供初始值。它还有一个访问器方法getYear,返回year。教授有一个整数秩字段(1=助理,2=助理,3=完整)。其构造函数有3个参数:name、rank和telNumber,它们为name、rank和telNumber字段提供初始值。它还有一个访问器方法getRank,返回秩。使用main方法创建C10h1类。在类文件中包含javadoc注释。使用javadoc创建文档文件。

共有1个答案

阙星渊
2023-03-14

问题是你的学生的构造函数。它需要链接到CollegeMember构造函数,它应该这样做:

public Student(String name, int year, String telNumber) {
    super(name, telNumber);
    this.year = year;
}

同样对于教授,只是用排名而不是年份

注意,您不需要在这些构造函数中设置名称和电话号码-这是您链接到的集合成员的工作。如果您将所有字段都设置为私有,那么您甚至无法尝试在子类中设置这些字段,这也会更好。。。这是有道理的,因为它们不是子类的责任。

 类似资料:
  • 问题内容: 请帮助我解决此错误: C10h1.CollegeMember类中的构造方法CollegeMember不能应用于给定类型;必需:java.lang.String,java.lang.String; 发现:无论据;原因:实际和形式上的论据长度不同 我也尝试添加一个默认的构造函数来调用super,但这给了我另一个错误! 码: 问题提示: 创建3个公共课程:CollegeMember,Stud

  • 我开始学习Java,遇到了一个我无法解决的问题。我有一个名为MyClass的类,带有构造函数。我想将该构造函数设置为访问私有字段: 当我删除构造函数时,我可以从另一个类调用somethingElse。然而,当我沿着这条路线尝试一些东西时 我在data=new MyClass()处得到一个错误,即实际参数和形式参数的长度不同,并且“需要long,found no参数”。我该如何解决这个问题?

  • 请帮助我修复此错误: 类C10H1中的构造函数CollegeMember。CollegeMember不能应用于给定类型;必需:java.lang.String、java.lang.String;找到:没有论点;理由:实际论点和正式论点的长度不同 此外,我尝试添加一个默认构造函数来调用super,但它只是给了我另一个错误! 代码: 问题提示: 创建3个公共类:大学生、学生和教授。Student和Pr

  • 我一直在拼命地尝试让这段代码工作。这是我第一次使用对象/构造函数(我是一个新程序员),这让我很困惑。我完全诚实;我不知道问题是什么。我已经尝试了很多东西,所以这段代码相当混乱。我也受够了,重新开始制作第二个代码,它也因为与第一个代码相同的原因而不起作用,尽管该代码的结构略有不同。我将在下面发布这两次尝试,希望有人能看到我的错误。谢谢! 尝试1: 尝试2: 任何帮助都将不胜感激。此外,因为我认为我的

  • 我不明白为什么它会给我一个错误代码,找不到合适的构造函数。 怎么了?

  • 我到处找,但找不到解决我问题的办法。我是新来Java的,我正在尝试建立一个app,但由于某种原因我过不了这个问题。我得到这个错误: 错误:(68,33)错误:找不到ArrayAdapter(OneFragment,int,String[])的合适构造函数构造函数ArrayAdapter.ArrayAdapter(Context,int,int,List)不适用(实际参数列表和正式参数列表的长度不同