接口:
interface 修饰
1丶定义: 属性(常量),抽象方法,默认的普通方法,静态方法
2丶特性:
接口可以继承多个接口
接口使用要通过类
实现类可以实现多接口
3丶函数接口:
有且只有一个抽象方法,函数接口
可以通过函数接口使用lambda表达式
package com.bit.inter;
public interface Message {
//接口中定义普通方法
default String company(){
return "未知";
}
//静态方法
static void printInfo(){
System.out.println("这是接口的静态方法");
}
void print();
}
class QQMessage implements Message{
@Override
public String company() {
return "腾讯";
}
@Override
public void print() {
System.out.println("这是QQMessage");
}
}
class WechatMessage implements Message{
@Override
public void print() {
System.out.println("这是微信的Meessage");
}
}
class MsnMessage implements Message{
@Override
public void print() {
System.out.println("这是MSN的message");
}
}
package com.bit.inter;
public interface IMessage {
void print();
public static void main(String[] args) {
//内部类
//IMessage接口的匿名内部类的实例化对象
IMessage iMessage = new IMessage() {
@Override
public void print() {
System.out.println("hello imessage");
}
};
iMessage.print();
// IMessage iMessage = () -> System.out.println("hello imessage");
// iMessage.print();
//接口 =》 面向对象的
//函数接口 =》 面向对象 函数编程
//Lambda表达式(函数) =》 函数编程
IMessage1 iMessage1 = (a,b) -> a+b;
int sum = iMessage1.sum(1,2);
System.out.println(sum);
}
}
@FunctionalInterface
interface IMessage1{
int sum(int a,int b);
}
package com.bit.inter;
/**
* Created with IntelliJ IDEA.
* Description:
* User: wang
* Date: 2019-05-19
* Time: 21:45
**/
public class TestMessage {
public static void main(String[] args) {
Message qqMessage = new QQMessage();
Message wechatMessage = new WechatMessage();
Message msnMessage = new MsnMessage();
qqMessage.print();
System.out.println(wechatMessage.company());
wechatMessage.print();
System.out.println(wechatMessage.company());
msnMessage.print();
System.out.println(msnMessage.company());
Message.printInfo();
}
}