1.如果实现某接口不是abstract类型且包括多个抽象方法,那么类要实现该接口的所有抽象方法.
2.如果某接口是abstract类型,那么类可以不实现接口的所有方法.
    
我的理解是interface不是只有关键字public吗?怎么还会有abstract呢??

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【sure2003】截止到2008-07-05 09:52:39的历史汇总数据(不包括此帖):
    发帖的总数量:200                      发帖的总分数:9137                     
    结贴的总数量:196                      结贴的总分数:9017                     
    无满意结贴数:2                        无满意结贴分:50                       
    未结的帖子数:4                        未结的总分数:120                      
    结贴的百分比:98.00 %               结分的百分比:98.69 %                  
    无满意结贴率:1.02  %               无满意结分率:0.55  %                  
    值得尊敬
      

  2.   

    帮你测试了下....package com.feng.j2se;interface Ifeng {
    public void a();
    abstract void b();
    }abstract interface Ikaili{
    public void a();
    abstract void b();
    }public class TestInterface implements Ifeng{//非抽象类必须实现接口的所有方法 public void a() {
    // TODO Auto-generated method stub

    } public void b() {
    // TODO Auto-generated method stub

    }

    }abstract class TestKaili implements Ikaili{//抽象类可以不实现接口的所有方法 public void a() {
    // TODO Auto-generated method stub

    }

    }似乎没有发现定义为public接口和abstract接口有什么区别(有abstract接口的)但是实现接口的类要看是不是abstract的,即需不需要实现接口中所有方法 
      

  3.   

    1. 接口中的方法都是(公有的)抽象方法,即没有方法体,不用拿 public abstract 再修饰一遍。
    2. 你可以把实现一个接口理解成打接口那儿继承下来一堆抽象方法,那你要作的要么实现所有抽象方法,这样类就不含抽象方法了自然可以不把类声明成抽象的了。如果有未实现的抽象方法,那你的类就是一个包含了至少一个抽象方法的类,自然得将此类修饰成抽象类。
    3. 接口有点类似只含抽象方法的抽象类,除了接口能实现一大堆,而超类只能有一个外。
      

  4.   

    接口访问权限只有两种:public和缺省状态
    不是这样的吗?
      

  5.   

    加不加abstract是完全等价的,因为interface本来就是abstract