当前位置:  技术问答>java相关

不是说一个非抽象类继承抽象类必须为抽象类中所有的抽象方法书写方法体吗?那么请进来看看?

    来源: 互联网  发布时间:2015-02-27

    本文导语:  实现接口其实就是继承一种以常量和抽象方法组成的特殊类。 下面这段代码实现了两个接口,但是只用到了两个事件处理方法。必须把两个接口中所有的抽象方法全部写出来,但是却没有为它们书写方法体,编译通...

实现接口其实就是继承一种以常量和抽象方法组成的特殊类。
下面这段代码实现了两个接口,但是只用到了两个事件处理方法。必须把两个接口中所有的抽象方法全部写出来,但是却没有为它们书写方法体,编译通过,为什么?
难道写个空的{}就算继承了吗?

import java.awt.*;
import java.awt.event.*;

class SL275 implements MouseMotionListener,MouseListener
{
 private Frame f;
 private TextField tf;

 public SL275() {
 f = new Frame("Two listeners example");
 tf = new TextField(30);
 }

 public void launchFrame() {
 Label label = new Label("Click and drag the mouse");
 // Add components to the frame
 f.add(label, BorderLayout.NORTH);
 f.add(tf, BorderLayout.SOUTH);
 // Add this object as a listener
 f.addMouseMotionListener(this);
 f.addMouseListener(this);
 // Size the frame and make it visible
 f.setSize(300, 200);
 f.setVisible(true);
 }

 // These are MouseMotionListener events
 public void mouseDragged(MouseEvent e) {
 String s = "Mouse dragging: X = " + e.getX()
 + " Y = " + e.getY();
 tf.setText(s);
 }

 public void mouseEntered(MouseEvent e) {
 String s = "The mouse entered";
 tf.setText(s);
 }

 public void mouseExited(MouseEvent e) {
 String s = "The mouse has left the building";
 tf.setText(s);
 }

 // Unused MouseMotionListener method.
 // All methods of a listener must be present in the
 // class even if they are not used.
 public void mouseMoved(MouseEvent e) { }

 // Unused MouseListener methods.
 public void mousePressed(MouseEvent e) { }
 public void mouseClicked(MouseEvent e) { }
 public void mouseReleased(MouseEvent e) { }

 public static void main(String args[]) {
 TwoListener two = new TwoListener();
 two.launchFrame();
 }
}

|
---------------难道写个空的{}就算继承了吗?


对,是这样的。。在实现接口时我们只需要实现自己关心部分的方法,而对于接口中的其它方法只要用{}就可以了,只不过实现方法为空

|
方法返回为void,当然只要写{}就行了。否则就return具体类型了。

    
 
 

您可能感兴趣的文章:

  • 大家说说,微软的jdbc是不是很烂,好多方法不支持
  • getParameter是不是将页面提交的数据保存到数据库的唯一方法?谢谢
  • 有没有什么好方法让cc编译后的错误提示输出到某个文件上而不是屏幕上?
  • 判断一个数是不是素数的方法
  • 违例处理问题1:是不是每个java方法都要有throws Exception子句呢?什么时候必须用?
  • linux 二进制文件或其他不是文本文件的复制方法?
  • protected的方法和变量不是不能在类外访问马?
  • 编程技术其它 iis7站长之家
  • final定义的方法是不是不允许子类重载的
  • iptables通过mac地址过滤的方法是不是对中间有交换机的服务器无效?
  • java判断两个时间是不是同一天的方法
  • 以前的方法不管用!!!奇怪 乱码问题 ,不是简单的 .getBytes("iso8859_1"),"gb2312" 能解决的
  • c#中判断字符串是不是数字或字母的方法
  • 请问怎样在JPanel中画图,也就是怎样获取Graphics对象来做图,或是其他方法?谢谢!再Applicaition而不是再Applet中!
  • getday方法不是返回今天是周几的吗?
  • Connection的setAutoCommit() 方法是不是一定要jdbc2.X方可正常运行?
  • {?}我用下面的方法,给toolbar里面的button加事件,是不是可以呢?
  • 为什么这个方法执行完后这个fileName文件还存在的,它怎么没有被自动删除,我不是已经设了file.deleteOnExit();吗???
  • 好像大家都说在网页中最好不用applet直接访问数据库,那现在正在用Java开发的兄弟们是不是都通过EJB去访问数据库还是用其他方法
  • Mircosoft SQL Server是不是不支持Date类型的,为什么我用PreparedStatement中的 setDate 方法就会出错,而用DB2却没有出错,如果用SQL S
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java里有没有象vc里的sleep(1000)一样的功能的东西 当然不是实现Runnable不是继承线程类
  • java 能做什么系统?CS是不是不行呀?开发效率岂不是很低
  • ●J2SDK和JDK是不是一个东西?如果不是,那它是什么?●
  • 在内核为2.4版本下开发的程序在2.6下编译是不是很容易会发生错误?不是应该往上兼容吗?
  • 急!!谁了解macintosh?能不能给我介绍介绍?是不是跟linux差不多?使用开发工具JDK,这是不是不JAVA?
  • 关于FIFO算法的问题(是不是页面“命中”和“淘汰”的页面不是的唯一啊
  • 看看会输出什么?结果是equal b,==在string里不是比较两个串是不是相等嘛?
  • Javamail要JavaBeans Activation Framework 的支持,是什么意思?是不是也要下载JavaBeans Activation Framework?他是不是也是一个包?是不
  • 请问gdb是不是只能调试gcc编译的程序,在unix下用其它编译器编译的程序是不是不一定能用gdb调试的?
  • 我的jdk配置有问题吗?为什么提示总是‘javac’不是内部或外部命令,也不是可运行的程序或批处理文件
  • vasual cafe 中有个包叫symantec,它是不是标准的j2se包,如果不是,用它写出的程序如何在通用?
  • 请问:我怎么样使得输入"GCC"以后执行的是新安装的新版本的GC,而不是旧的!以及我的操作是不是正确?
  • 网站的站内搜索是怎么实现的?怎么做?在网页的头元素中有一关键词元素,是不是就是给站内搜索用的?如果我在Sina中登记我的网站,那么是不是
  • java中有没有这样的函数就是判断一个字符串里面是不是含有另外一个字符串!例如 abcdef 里面查找是不是含有de谢谢了~初学者
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题.
  • 请教!UNIX是不是很难啊
  • 如何默认启用vim而不是vi
  • mplayer 源代码中的API是什么API呀,不是QT呀?是什么呢?
  • Shell中是不是只有“空串”没有NULL?
  • locate是不是不搜寻/tmp下面的文件
  • 实现snmp时mib文件是不是必须的?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3