Java 扩展三角形文件

Java 扩展三角形文件,java,inheritance,super,Java,Inheritance,Super,等边类和等腰类扩展了三角形类。我不知道如何使用super()方法。我应该用它,但它使我困惑。它的目的是什么?我怎样才能让它工作?我必须重命名实例变量吗?当我试图编译它时,它说它无法识别super符号。 谢谢你的帮助 public class Triangle { // instance variables private double sideA, sideB, sideC; public Triangle(double side1, double side2, double side3)

等边类和等腰类扩展了三角形类。我不知道如何使用super()方法。我应该用它,但它使我困惑。它的目的是什么?我怎样才能让它工作?我必须重命名实例变量吗?当我试图编译它时,它说它无法识别super符号。 谢谢你的帮助

public class Triangle
{
// instance variables 
 private double sideA, sideB, sideC;

public Triangle(double side1, double side2, double side3)
{
// initialise instance variables
 sideA = side1;
 sideB = side2;
 sideC = side3;
}

public double getSideA()
{
 return sideA;
}
public double getSideB()
{
 return sideB;
}
public double getSideC()
{
 return sideC;
}
}

}

是父构造函数调用,但在超类中没有接受单个双参数的构造函数

是父构造函数调用,但在超类中没有接受单个双参数的构造函数

是父构造函数调用,但在超类中没有接受单个双参数的构造函数


是父构造函数调用,但您的超类中没有接受单个双参数的构造函数。

这里有几点:

  • 正如@Juned Ahsan所指出的,您正试图调用一个不存在的构造函数
  • 您正在子类中定义与超级类同名的字段
  • 您可以简单地将其定义为:

    public class Equilateral extends Triangle
    {
        public Equilateral(double sideA)
        {
            super(sideA, sideA, sideA);
        }
    }
    
    public class IsoscelesRight extends Triangle
    {
        public IsoscelesRight(double sideA)
        {
            super(sideA, sideA, Math.sqrt(2*sideA*sideA));
        }
    }
    

    然后通过
    getSideA
    etc getter访问边长。

    这里有几点:

  • 正如@Juned Ahsan所指出的,您正试图调用一个不存在的构造函数
  • 您正在子类中定义与超级类同名的字段
  • 您可以简单地将其定义为:

    public class Equilateral extends Triangle
    {
        public Equilateral(double sideA)
        {
            super(sideA, sideA, sideA);
        }
    }
    
    public class IsoscelesRight extends Triangle
    {
        public IsoscelesRight(double sideA)
        {
            super(sideA, sideA, Math.sqrt(2*sideA*sideA));
        }
    }
    

    然后通过
    getSideA
    etc getter访问边长。

    这里有几点:

  • 正如@Juned Ahsan所指出的,您正试图调用一个不存在的构造函数
  • 您正在子类中定义与超级类同名的字段
  • 您可以简单地将其定义为:

    public class Equilateral extends Triangle
    {
        public Equilateral(double sideA)
        {
            super(sideA, sideA, sideA);
        }
    }
    
    public class IsoscelesRight extends Triangle
    {
        public IsoscelesRight(double sideA)
        {
            super(sideA, sideA, Math.sqrt(2*sideA*sideA));
        }
    }
    

    然后通过
    getSideA
    etc getter访问边长。

    这里有几点:

  • 正如@Juned Ahsan所指出的,您正试图调用一个不存在的构造函数
  • 您正在子类中定义与超级类同名的字段
  • 您可以简单地将其定义为:

    public class Equilateral extends Triangle
    {
        public Equilateral(double sideA)
        {
            super(sideA, sideA, sideA);
        }
    }
    
    public class IsoscelesRight extends Triangle
    {
        public IsoscelesRight(double sideA)
        {
            super(sideA, sideA, Math.sqrt(2*sideA*sideA));
        }
    }
    

    然后通过
    getSideA
    etc获取边长。

    谢谢!那真的帮了汉克斯的忙!那真的帮了汉克斯的忙!那真的帮了汉克斯的忙!这真的很有帮助