【学习笔记】接口

一、接口:一种规范,一种标准,接口本身不提供具体实现,通过接口的实现类来提供具体的功能。
二、接口的定义:
1、关键字:interface
2、实现接口的关键字: implements
3、在接口中定义的方法,是抽象方法,不能具体实现
4、编译器会自动在方法的前面加入public abstract
5、一个类实现了接口,必须重写接口中的抽象方法。
6、接口可以继承多个接口,一个类可以实现多个接口
三、接口中可以定义的内容:
1、抽象方法,public abstract
2、静态常量,public static final
四、注意事项:
1、接口不能被实例化。
2、接口不能定义private的内容

如:

public class Test {
    public static void main(String[] args) {
        USB usb=new KeyBoard();
        usb.work();
        System.out.println("USB接口的宽度:"+USB.WIDTH+"cm");
    }
}

//USB接口

public interface USB {
    public abstract void work();
    public static final double WIDTH=1.8;
}

//键盘

public class KeyBoard implements USB{
    public void work() {
        System.out.println("键盘输入文字");
    }
}
五、接口和抽象类的区别:

1、构造方法:接口没有构造方法;而抽象类可以有构造方法,用于子类实例化使用;

2、成员变量:接口只能是常量。默认修饰符:public static final;而抽象类可以是变量,也可以是常量;

3、成员方法:jdk1.8中接口可以写以default和static开头的具体方法;而抽象类中的方法可以是抽象方法,也可以是非抽象方法;


六、JDK1.8中接口的新规则:
1、在接口可以定义一个默认的有方法体的方法。

如:public interface USB {    
    public default void print() {
        System.out.println("Hello World");
    }
}
2、lambda表达式:简化代码,主要解决的是接口和实现类,一个接口可能有好多实现类,一个一个的定义实现类太麻烦,可以使用lambda简化代码

lambda表达式:

USB usb=()->System.out.println("提供凉风");
        usb.work();

相当于:

USB usb=new USB() {            
            public void work() {
            System.out.println("提供凉风");                
            }
        };
        usb.work();

实例如:

public class Test {
    public static void main(String[] args) {
        People p1=(langage)->System.out.println("中国人说"+langage);
        p1.say("汉语");
    }
}

//People.java文件(接口)

public interface People {
    void say(String laugage);
}

//输出结果:

中国人说汉语
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值