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

三角形1是抽象;无法实例化“驱动程序错误

苏丰茂
2023-03-14

遇到无法被实例化的问题,甚至扩展和尝试重写它,都无法修复它。尝试使用一个驱动程序文件和两个其他文件打印结果回来。卡住了一段时间,任何事情都很感激。

公共抽象类Triangle extends Lot实现可比较的 {

public abstract double calculateArea();

public abstract String getID();

public int compareTo(LotType1 o) {
    if (calculateArea() > o.calculateArea()) {
        return 1;
    } else if (calculateArea() < o.calculateArea()) {
        return -1;
    } else {
        return 0;
    }
}

@Override 
public String toString() {
    return "Lot ID: " + getID()
            + " Area: " + calculateArea();
}

}

驱动程序文件=====

公共类测试批{

public static void main(String args[]){

Lot[] lots = {new Triangle1("L1",350, 200) {},
              new Triangle2("L2",100,270),
              new Triangle1("L3",100, 270),
              new Triangle2("L4",350,200)
             };


java.util.Arrays.sort(lots);

// print out sorted results
for (Lot lot: lots) {
  System.out.print(lot + " "); 
  System.out.println();
}

共有1个答案

能烨华
2023-03-14

无法启动抽象类。根据需要,首先从类实现中删除abstract关键字。然后,创建一个构造函数来获取您的3个参数,实现CalculateAreaGetID这两个方法。请尝试从下面的代码开始

import java.util.Comparator;

public class Triangle implements Comparator<Triangle> {
    private String id;

    public Triangle(String id) {
        this.id = id;
    }


    public double calculateArea() {
        int area = 0;
        //calculate your area
        return area;
    }

    public String getID() {
        return id;

    }

    @Override
    public String toString() {
        return "Triangle ID: " + getID()
                + " Area: " + calculateArea();
    }

    @Override
    public int compare(Triangle t1, Triangle t2) {
        if (t1.calculateArea() > t2.calculateArea()) {
            return 1;
        } else if (t1.calculateArea() < t2.calculateArea()) {
            return -1;
        } else {
            return 0;
        }
    }
}
 类似资料:
  • 有人知道是什么引起的吗?我正在使用Springsource工具套件开发我的应用程序。postgres驱动程序位于web-inf/lib/postgresql-9.1-902.jdbc4.jar下 非常感谢任何帮助!谢谢!

  • 问题内容: 我创建了一个空的抽象类,并从中继承了该类: 我期望输出是 但是,我得到的是 如果我删除(这样就变成一个普通的类)和/或如果我设置了其他值,问题(显然)就消失了。 这里发生了什么? 问题答案: 这实际上不是ABC的问题,而是PyMongo的问题。有一个关于它的问题在这里。似乎pymongo重写以返回某种数据库类。这意味着将返回一个数据库对象,该对象在布尔上下文中为true。这使ABCMe

  • 所以我有两个类。一个只有纯粹的虚拟函数。另一个实现了这些函数,并从第一个类派生出来。我知道我不能实例化第一个类。但是当我试图创建第二个类的对象时,它也失败了。 我的第二节课大体上是这样的: 执行: 下面是我如何实例化它并得到错误: 我哪里做错了? 第一课

  • 第一次来这里。我是C新手,花了好几个小时想弄明白这个问题。很抱歉问一个似乎很常见的问题。我一生都找不到答案。 我在visual studio中遇到以下编译错误: 我的理解是,这意味着我创建的纯虚拟函数尚未在子类中实现。据我所见,它已在intNode子节点中实现。我做错了什么?代码如下。提前谢谢! 在节点中。h: 在Node.cpp: 编辑...对不起,我忘了添加这个位。错误指向main中的此部分

  • 我正在尝试实现上面提到的解决方案,但是在这里,我得到了一个错误“RowMapper是抽象的,不能实例化”和“表达式的非法开始”。下面正是我所说的

  • 我正在尝试使用Python Splinter Selenium PhantomJS进行基本测试,但我无法启动phantomjs浏览器。(Chrome 我得到一个错误: 此外,当我跑步时: 我基本上得到了同样的错误。 看起来PhantomJS正在使用远程驱动程序连接到远程服务器,但splinter没有启动selenium(?)PhantomJS要连接到的服务器。我不介意进入splinter(?)的源