java接口

目录

1.认识接口:

2.接口的特点:

1.接口中的成员变量:

2.接口中 没有  构造方法:*

3.接口中的成员方法:

3.类和接口的实现关系***

        1.类与类之间:

        2.类和接口

        3.接口与接口*


1.认识接口:

关键字:interface 

//接口
public interface MyInter {

    //    一般都是抽象方法
    public abstract void eat();
}
//接口实现类                 实现
/*
* 实现的接口
*   要么 抽象类
*   要么 重写
*
* */
public class MyInterImpl implements MyInter{
    @Override
    public void eat() {
        System.out.println("好好吃饭");
    }
}
/*
* 测试类
* */
public class Text {
    public static void main(String[] args) {
//        本类
        MyInterImpl impl1 = new MyInterImpl();
        impl1.eat();
//        多态
//        接口               接口类
        MyInter impl2 = new MyInterImpl();
        impl2.eat();
    }
}

在java中,接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用

java中的接口更多的体现在 对行为的抽象

2.接口的特点:

1.接口中的成员变量:

                默认 是   public  static  final  默认常量

                static 修饰   的变量 可以直接 接口名 点 访问    接口名.变量    

public interface MyInter {
//    成员变量  public static final

    public static final String name = "张三";//接口中的变量  默认就是 公共的 静态 的常量

    int age = 20;//也行 前边默认 自带 public static final 
}

2.接口中 没有  构造方法:*

        接口中没有构造方法的原因“

                1.接口本身不需要

                2.类和接口 不是继承关系(是实现关系)   在接口 中  没有子类  也不需要子类

3.接口中的成员方法:

        默认抽象方法  public abstract   ( 不带方法体  要被重写)

        接口中 带方法体的话 

                1.默认方法  default  修饰

                        注意:要是重写 尽量不要用 default

                2.静态方法  static 

                        注意:接口中静态的方法,不能用对象调用  只能用接口调

                                原因 : 接口是可以多实现的 

        

public interface MyInter {

    public static final String name = "张三";
    int age = 20;

//    成员方法   默认就是 public abstract


//    抽象方法
    public abstract void eat();
//   这样写也可以   前边默认  public abstract
    void sleep();

//    非抽象方法  可以  但有条件
//      default  默认

//    要是重写 就不要 default
    public default void study(){
        System.out.println("学习");
    }
//    静态
//    静态方法 不能 对象调  只能接口调
//    原因 :  接口是可以多实现的
    public static void play(){
        System.out.println("王者");
    }



//    不能直接这样写
    /*public void ha(){

    }*/

}

3.类和接口的实现关系***

        1.类与类之间:

             1.继承关系  extends 

             2.不能多继承   但可以 多层继承

             3.必须满足  is a

        2.类和接口

                1.实现关系

                2. 关键字 implements

                3.可以多实现 中间 , 隔开

                                implements  接口A,接口B...

        3.接口与接口*

                1.可以使用  继承  关系

                2.支持  多继承 中间 , 隔开

                        extends 接口A , 接口 B , ...... (最后那个接口 继承了 前接口   最后那个接口功能更强大了)

                3.接口与接口之间 不需要 is a关系

                        实现类  和 接口  无需满足 is a 关系

                好处:极大的关注了实现类的功能扩展

                                只关注实现

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

華同学.

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

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

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

打赏作者

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

抵扣说明:

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

余额充值