发布于2024-11-02 20:57 阅读(740) 评论(0) 点赞(14) 收藏(3)
我的代码中出现此编译错误:
方法 add(UComponent comp, KopiAlignment Constraints); 对于 DBlock 类型而言是不明确的...
我想创建 UBlock 接口来对现有类 DBlock 进行抽象
代码如下:
UBlock 接口:
public interface UBlock extends UComponent, BlockListener {
public void add(UComponent comp, KopiAlignment constraints);
}
DBlock 类:
public class DBlock extends JPanel implements UBlock {
public void add(UComponent comp, KopiAlignment constraints) {
}
}
我在另一个类中调用 add 方法:
private DBlock blockView;
blockView.add(displays[i], new KopiAlignment(chartPos + leftOffset, i + 1, 1, false));
当我从 DBlock 中删除 UBlock 的实现时,错误不再存在,这里是调用的方法:
/**
* Adds the specified component to the end of this container.
* Also notifies the layout manager to add the component to
* this container's layout using the specified constraints object.
* This is a convenience method for {@link #addImpl}.
* <p>
* Note: If a component has been added to a container that
* has been displayed, <code>validate</code> must be
* called on that container to display the new component.
* If multiple components are being added, you can improve
* efficiency by calling <code>validate</code> only once,
* after all the components have been added.
*
* @param comp the component to be added
* @param constraints an object expressing
* layout contraints for this component
* @exception NullPointerException if {@code comp} is {@code null}
* @see #addImpl
* @see #validate
* @see javax.swing.JComponent#revalidate()
* @see LayoutManager
* @since JDK1.1
*/
public void add(Component comp, Object constraints) {
addImpl(comp, constraints, -1);
}
那么我该如何解决这个问题?
问题是你继承了另一个add
方法。这意味着在你的DBlock
类中你同时拥有
public void add(UComponent comp, KopiAlignment constraints)
和
public void add(Component comp, Object constraints)
供您使用。
现在KopiAlignment
是 的子类型Object
,我猜UComponent
是 的子类型Component
。这意味着当您add
使用UComponent
和KopiAlignment
作为参数调用时,参数类型适合这两种方法,尽管它们形式上具有不同的签名。
据我所知,没有真正的方法可以解决这个问题。
作者:黑洞官方问答小能手
链接:http://www.javaheidong.com/blog/article/691841/29523e8f0bce75e00266/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!