面向对象之接口

来源:互联网 发布:js 怎么把值输入数据库 编辑:程序博客网 时间:2024/06/06 03:40

概述:

从狭义来说就是java中的interface从广义来说就是对外提供规则的都是接口(USB接口)

接口的特点:

1,接口用关键字interfaceinterface 接口名 { }2,类实现接口用implements表示class 类名 implements 接口名 { }3,接口不能实例化,所以一般是按照多态方式来实例化

4,接口的子类一般是具体的类,重写接口中的所有抽象方法.

接口中的成员特点:

成员变量:只能是常量,并且是静态的并公共的.        默认修饰符:public static final构造方法:没有(所以super一般是调用该子类的父类,没有父类就是object类)成员方法:只能是抽象方法        默认修饰符:public abstract

各种关系

类与类关系:单继承关系,可多层继承类与接口:实现关系,可以多实现接口与接口:继承关系,可多继承.

抽象类与接口的区别:

成员区别:    抽象类中:成员变量:可以变量,也可是常量;有构造方法;成员方法:可以抽象,也可非抽象.    接口:成员变量只能是常量;成员方法:只能是抽象的.无构造方法.设计理念区别:    抽象类:被继承体现是"is a "的关系,抽象类中定义该继承体系中的共性功能.    接口:被实现体现的是:"like a"的关系,接口中定义的,是该继承体系的扩展功能.

接口与抽象类区别实例:

  • 某女星认干爹的事件举例.

    • 该女星只有一个亲爹(单继承),但可以认多个干爹(接口实现).

举个例子:

//usb接口interface USB {    int num=3;//定义usb接口数,常量3个,默认是public static final的    public void transData();//抽象方法}public IPhone implements USB{    private int price;    private String version;    public IPhone(){    }    public void setPrice(int price){        this.price=price;    }    public void setVersion(String version){        this.version=version;    }    public int getPrice(){        return price;    }    public String getVersion(){        return version;    }    public void transData(){//子类实现接口中的方法        System.out.println("IPhone transform data to computer!");    }}
0 0