目录
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 关系
好处:极大的关注了实现类的功能扩展
只关注实现