gpt4 book ai didi

javac 编译错误 - "...abstract; cannot be instantiated"

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:29:16 24 4
gpt4 key购买 nike

Java 新手...正在尝试运行示例应用程序。我包括了似乎与该问题相关的代码部分。如果需要,我可以发布整个测试应用程序。我

我正在尝试实现错误处理程序来处理应用程序通过应用程序运行的 htmlunit lib/test 解析目标网站时生成的 css 警告。

我不确定应该如何实现 MycssErrorHandler 类才能调用 ErrorHandler。我也不确定如何在代码/测试类的主体中实例化对象。

想法/评论/代码块会有所帮助..

谢谢!

编译时出现以下错误:

[root@toshiba parseapp2]# javac -Xlint -classpath '/opt/htmlunit/lib/*:/parseapp2/' sjsu_classes.java

warning: [path] bad path element "/opt/htmlunit/lib/xml-apis.jar": no such file or directory
warning: [path] bad path element "/opt/htmlunit/lib/xercesImpl.jar": no such file or directory
warning: [path] bad path element "/opt/htmlunit/lib/serializer.jar": no such file or directory
sjsu_classes.java:92: sjsu_classes.MycssErrorHandler is abstract; cannot be instantiated
ErrorHandler ierr = new MycssErrorHandler();
^
1 error
3 warnings

====================================

测试代码块是:

import org.w3c.css.sac.ErrorHandler;
import com.gargoylesoftware.htmlunit.DefaultCssErrorHandler;
import org.xml.sax.SAXParseException;

public class sjsu_classes {

//==handle the warnings thrown from the js functions..
public static class MyIncorrectnessListener implements IncorrectnessListener
{
@Override
public void notify(String arg0, Object arg1)
{
//System.err.println("Argument : " + arg0.toString() + ", Object : ");
}
}

//==handle the warnings thrown from the css functions..
// public static class MycssErrorHandler implements DefaultCssErrorHandler
// public static class MycssErrorHandler implements ErrorHandler
// public class MycssErrorHandler implements ErrorHandler
public abstract class MycssErrorHandler implements ErrorHandler
// protected class MycssErrorHandler implements ErrorHandler
{
//@Override
public void notify(String arg0, Object arg1)
{
//System.err.println("Argument : " + arg0.toString() + ", Object : ");
}
//@Override
public void fatalError(SAXParseException ex)
{
//fatals.add(ex);
}
}

//public static void main(String[] args) throws Exception {
public void main(String[] args) throws Exception {

// Create and initialize WebClient object
// WebClient webClient = new WebClient(BrowserVersion.EXPLORER_7);
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3);
//WebClient webClient = new WebClient();

IncorrectnessListener ilisten = new MyIncorrectnessListener();
ErrorHandler ierr = new MycssErrorHandler();
webClient.setIncorrectnessListener(ilisten);
webClient.setCssErrorHandler(ierr);

最佳答案

您的 MycssErrorHandler 类是抽象的,这意味着您不能直接使用它。

一个抽象类不能被实例化;它只能继承自。

您需要从类定义中删除 abstract 关键字。

一旦删除abstract 关键字,您还需要让您的类实现ErrorHandler 中的所有三个方法。界面。 (错误fatalError警告)

关于javac 编译错误 - "...abstract; cannot be instantiated",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2073156/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com