java接口(上)

java不支持多继承性,即一个接口不能有多个父类。单继承性使得java简单,由于管理。为了克服单继承性的的缺点,java使用了接口,一个类可以实现多个接口。

概念

Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

两种含义:一,Java接口,Java语言中存在的结构,有特定的语法和结构;二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“Java接口”,后者叫做“接口”。


基础语法

特点

  • 接口也是一种"引用数据类型"。编译之后也是一个class字节码文件。
  • 接口是完全抽象的。(抽象类是半抽象)或者也可以说接口是特殊的抽象类。
  • 接口支持多继承,一个接口可以继承多个接口。
  • 接口中只包含两部分内容,一部分是常量,一部分是抽象方法。
  • 接口中所有变量都用public修饰。
  • 由于接口里面都是抽像方法,故 public abstract 可省略,且不能有方法体。
  • 接口中 public static final 也是可以省略的。
     
interface A{

}
interface B extends A{

}

interface C extends A,B{
    
}

接口的使用

接口是用来被类实现的,实现接口的类称为实现类。实现类可以理解为所谓的子类。

修饰符 class 实现类 implements 接口1,接口2...{
        
}

从例子可以看出,接口可以被类单独实现,也可以多实现;一个类实现接口,必须重写完全部接口的全部抽象方法,否则这个类需要定义成抽象类。下面给出一个例子带大家了解一下。

有一个篮球运动员类,还定义了三个接口,用运动员类分别调用这三个接口:

public class Text {
    public static void main(String[] args) {
        BasketBallman Kun = new BasketBallman();
        Kun.Eat();
        Kun.Rule();
        Kun.Sleep();
    }
}
public class BasketBallman implements Law,People{

    @Override
    public void Sleep() {
        System.out.println("运动员要睡觉");
    }

    @Override
    public void Eat() {
        System.out.println("运动员要吃饭");
    }

    @Override
    public void Rule() {
        System.out.println("运动员要守规则");
    }
}
public interface Law {
    void Rule();
}

public interface People {
    void Sleep();
    void Eat();
}

我们在这里总结一下:

类和类的关系:单继承。

类和接口的关系:多实现。

接口和接口的关系:多继承,一个接口可以同时继承多个接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值