关于接口为内部时和为外部时的区别与联系
2015-07-22 11:26
435 查看
首先说明,无论接口是在类内部还是外部,都需要覆盖接口定义的所有方法。
至于原因就去查看java教材关于接口的那一章讲解。
一、当接口为内部时,在类的头部即public class YY 后不必写implements XX-interface
如:
注:若写上了implement MouseListener,
则编译时会发生错误:
class J_Panel不是抽象的,未覆盖java.awt.event.MouseListener中的抽象方法.....
就是说,内部接口的实现并不能覆盖implements MouseListener的抽象方法。
二、而当接口为外部时,必须在类的头部即public class YY 后写上implements XX-interface
如:
至于原因就去查看java教材关于接口的那一章讲解。
一、当接口为内部时,在类的头部即public class YY 后不必写implements XX-interface
如:
public class J_Panel extends JPanel { public J_Panel() { addMouseListener(new MouseListener() { public void mouseExited(MouseEvent e) {} public void mouseClicked(MouseEvent e) {} public void mouseEntered(MouseEvent e) {} public void mousePressed(MouseEvent e) {} public void mouseReleased(MouseEvent e) {} } ); // end of addMouseListener addMouseMotionListener(new MouseMotionListener() { public void mouseMoved(MouseEvent e) {} public void mouseDragged(MouseEvent e) {} } ); // End of addMouseMotionListener } // End of the conductor of J_Panel protected void paintComponent(Graphics g) { } // End of the function of paintComponent }
注:若写上了implement MouseListener,
则编译时会发生错误:
class J_Panel不是抽象的,未覆盖java.awt.event.MouseListener中的抽象方法.....
就是说,内部接口的实现并不能覆盖implements MouseListener的抽象方法。
二、而当接口为外部时,必须在类的头部即public class YY 后写上implements XX-interface
如:
public class ScribblePanel extends JPanel implements MouseListener, MouseMotionListener { public ScribblePanel() { // Register listener for the mouse event addMouseListener(this); addMouseMotionListener(this); } // interface MouseListener public void mouseClicked(MouseEvent e) {} public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mouseReleased(MouseEvent e) {} public void mousePressed(MouseEvent e) {} // interface MouseMotionListener public void mouseDragged(MouseEvent e) {} public void mouseMoved(MouseEvent e) {} }
相关文章推荐
- Fragment基础部分
- ogre 光源
- R语言
- oracle中带有特殊符号的模糊查询
- DevComponents.DotNetBar2显示控件的方法
- DevComponents.DotNetBar2显示控件的方法
- a+b 4
- 各大推荐引擎资料汇总
- mybatis的dao接口实现小结
- ubuntu12.04管理员账户登录不了桌面,只能客人会话登录
- WPF 基础到企业应用系列5——WPF千年轮回 续前缘
- JAX-WS使用Handler实现简单的WebService权限验证
- 欢迎使用CSDN-markdown编辑器
- Cocos2dx.3x入门三部曲-Hello Game项目解析(三)
- Struts logic循环标签(二)
- Android学习笔记之——Notification.Builder类的用法
- 资产管理
- IndexReader已解决的问题
- 完整Select语句执行顺序
- [转]Mac技巧——让Mac轻松访问Windows网络共享