javac编译错误-“…抽象;无法实例化”
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javac编译错误-“…抽象;无法实例化”,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2718字,纯文字阅读大概需要4分钟。
内容图文
![javac编译错误-“…抽象;无法实例化”](/upload/InfoBanner/zyjiaocheng/671/a10fe6d816054363a0085d5193751a5a.jpg)
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编译错误-“…抽象;无法实例化”全部内容,希望文章能够帮你解决javac编译错误-“…抽象;无法实例化”所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。