接口的定义和使用

接口就是给出一些没有实现的方法(没有方法体),封装到一起,到某个类要使用的时候,再根据具体的情况把这些方法写出来。

接口中的域必须是常量。接口可以看作是一种特殊的抽象类,但是它与类不同。类是对同一事物的描述,而接口是描述不同类的事物。

如果一个类implement实现 接口,需要将该接口的所有抽象方法都实现,或者将该类定义为抽象类。

接口不能被实例化。

接口中所有的方法是public方法,接口中抽象方法,可以不用abstract修饰。

一个普通类实现接口,就必须将该接口的所有方法都实现。抽象类实现接口,可以不用实现接口的方法。

接口中属性的访问形式:接口名.属性名

接口不能继承类,但是可以继承多个别的接口。

二、抽象类与接口的比较

从抽象类的定义、接口的定义看,接口和抽象类非常相似,甚至可以相互替换。

但是抽象类和接口不同。抽象类用于表示同一类对象的共同属性和行为,而接口可以表示不同类的对象的属性和行为,这是概念上的不同。接口用于规范不同类的对象所具有的操作,但每类对象的具体操作由具体类定义。

案例:

完成练习(就写了乒乓球运动员):

接口:

//接口
interface  Speak{
  //说英语
    public void  speak();
}

Person类----->父类

class  Person{
   //共同属性
    String name;
    int gae;

    public Person(String name, int gae) {
        this.name = name;
        this.gae = gae;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getGae() {
        return gae;
    }

    public void setGae(int gae) {
        this.gae = gae;
    }

    
}

运动员:

//运动员
class Player extends Person{
    String studyname;

    public Player(String name, int gae, String studyname) {
        super(name, gae);
        this.studyname = studyname;
    }

    public String getStudyname() {
        return studyname;
    }

    public void setStudyname(String studyname) {
        this.studyname = studyname;
    }

    public  void  Study(){
        System.out.println("运动员"+getName()+",年龄为:"+getGae()+",正在学习打"+getStudyname());
    }
}

乒乓球运动员:

//乒乓球运动员
class Tennis extends Player implements Speak{

    public Tennis(String name, int gae, String studyname) {
        super(name, gae, studyname);
    }

    @Override
    public void speak() {
        //继承父类方法
        super.Study();
        //重写接口方法
        System.out.println("会说英语");
    }
}

实现类:

   public static void main(String[] args) {
        Tennis  tennis=new Tennis("Tom",28,"乒乓球");
     tennis.speak();
    }

输出结果:

  • 13
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

╭⌒心岛初晴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值