A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 王林涛 于 2013-6-2 22:22 编辑

interface USB
{
        public abstract void read();
        public abstract void write();
}

/*
   设备是U盘,接入到USB接口,符合接口规则
*/
class Upan implements USB//这个类为什么没有复写接口中的抽象方法
{
        public void read()
        {
          System.out.println("读取U盘数据");
        }

        public void write()
        {
                System.out.println("向U盘中写入数据");
        }
}

当一个类实现一个接口的时候,不是要复写类的所有抽象方法吗?

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

6 个回复

倒序浏览
接口的所有方法都是抽象的,肯定要复写啊,你上面的类不是已经复写了吗,为什么说没有呢?


interface USB
{
        public abstract void read();
        public abstract void write();

}

/*
   设备是U盘,接入到USB接口,符合接口规则
*/
class Upan implements USB//这个类为什么没有复写接口中的抽象方法
{
       public void read()
        {
          System.out.println("读取U盘数据");
        }

       public void write()
        {
                System.out.println("向U盘中写入数据");
        }
}

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
一个类实现一个接口,分两种情况

实现所有成员:
   这样得到一个类

实现部分成员:
  这样得到一个抽象类
回复 使用道具 举报
接口内的方法都是 public abstract 修饰的,实现接口要复写所有的抽象方法。

如果只实现部分,相当于类中还有抽象方法,也就是说成了个抽象类。

回复 使用道具 举报
接口中的方法都是抽象的,实现接口必须要复写接口中所有的方法。这个和抽象类是不一样的,你再看看视频,还有你那个已经复写了方法

评分

参与人数 2技术分 +1 黑马币 +3 收起 理由
石贤芝 + 3 赞一个!
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
你不是覆盖了吗?
接口可以看作是特殊的抽象类
抽象类中的抽象方法要被使用,必须由子类复写起所有的抽象方法后,建立子类对象调用。如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
应经实现了啊 new一个Upan对象就可以直接调用read()和或write()方法了啊 有什么问题?

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马