关闭

Java(接口定义,接口实现)

标签: java接口
178人阅读 评论(0) 收藏 举报
分类:

接口是抽象类的一种变体,但它与抽象类又有一些差异。首先接口是用关键字interface来定义的,形式为
:[修饰符]interface接口名
{
//变量和方法声明
}

接口中所有的方法都是抽象的,(abstract可以省略不写),也没有方法体,看起来与抽象类非常相似,但它们仍然有显著的区别。
(1)抽象类中的方法不一定都是抽象的,而接口中所有的方法都是抽象的
(2)接口中的所有数据都是公有静态常量,即具有public ,static,final属性,但一般又不写这些修饰符。
(3)因此接口中的所有方法都是抽象的,public的,因此必须在实现该接口的子类中重写所有的这些方法。
样例

interface Myinter
{
    double g=9.9;
    void show();
}

由接口生成子类不是通过extends实现的,而是用关键字implements来实现一个接口,方式为:
class 类名 implements 接口名 [extends类名]
{
类体
}
其中被实现的接口可以有多个,之间用逗号分隔,这一点是类在继承时无法做到的,Java只支持单继承,如果想达到多继承的效果,可以通过实现多个接口的方式来实现。例如根据上面定义的接口Myinter,可以定义类Test:
class Test implements Myinter
{
public void show()
{
System.out.println(“g=”+g);
}
}
与类之间的继承关系相似,接口之间也可以通过关键字extends进行继承,但其中抽象的方法不能被具体实现。

interface A{
    int a=1;
    void showa();
}

interface B extends A{
    int b=2;
    void showb();
}

interface C extends A,B{
    int c=3;
    void showc();
}

class D implements C{
    public void showa(){
        System.out.println("aaaa");
    }
    public void showb()
    {
        System.out.println("bbbb");
    }
    public void showc()
    {
        System.out.println("cccc");
    }

}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:66345次
    • 积分:3070
    • 等级:
    • 排名:第11323名
    • 原创:248篇
    • 转载:0篇
    • 译文:0篇
    • 评论:14条
    最新评论