概述:
接口是一种公共的规范标准,只要符合规范标准,大家都可以通用,Java中的接口更多的体现在对行为的抽象
一、定义接口格式:
关键字 interface
public interface Jumpping {//接口关键字为interface
//定义了抽象方法
public abstract void jump();
}
二、接口的特点:
1.接口用关键字interface修饰
2.类实现接口不能用继承,只能用实现关键字implements修饰
/*定义猫类实现接口
* */
public class Cat implements Jumpping{
//实现一个接口需要重写抽象方法
@Override
public void jump() {
System.out.println("猫跳高");
}
}
3.接口不能直接实例化,要参照多态,通过实现类对象实例化,这叫接口多态。(还有抽象类多态,具体类多态)
重申多态的前提:有继承或者实现关系;有方法重写;有父类或者父接口引用指向(子类/实现)对象
/*
* 测试类*/
public class JumppingDemo {
public static void main(String[] args) {
// Jumpping j=new Jummping();//这是会报错的,不能直接实例化
//通过猫类对象进行实例化
Jumpping j=new Cat();
j.jump();
}
}
4.接口的实现类:
要么重写接口中的所有抽象方法
要么也是抽象类
三、接口的成员特点
1.成员变量特点:
接口中如果定义了成员变量会默认为常量,默认修饰符 public static final,也就是定义的成员变量不能二次赋值
//定义成员变量
//==public static final int num=10;默认修饰符为final,也就是接口的成员变量默认是一个常量
public int num=10;
2.构造方法
接口没有成员方法,因为接口主要对行为进行抽象,没有具体存在,一个类没有符类的话,默认继承Object类,因为Object类是所有类的超类
//public class InterImpl implements Inter {//等同于下面写的
public class InterImpl extends Object implements Inter{
public InterImpl(){
super();//默认调用Object类的无参构造
}