接口
1.1什么是接口
1.2接口的特点
- 接口的关键字是interface
接口语句格式:public interface 接口名{}
public interface Jumpping{
void jump();//接口的方法有且一定是抽象方法
}
- 类与接口的关系是实现implements
格式:public class 类名 implements 接口名{}
public class Cat implements Jumpping{
//实现类必须重写接口的所有的抽象方法
@override
public void jump(){
System.out.println("猫跳高");
}
}
- 接口不能直接实例化,可以通过其实现类进行实例化
即参照多态的方式,通过实现类对象实例化。
多态的前提:有继承关系(实现)关系,有方法重写,有父类(接口)引用指向子类(实现类)对象
public class Application{
public static void main(String[] args){
//Jumpping j=new Jumpping(); 接口不能直接实例化
//需要通过多态的方式进行实例化
Jumpping j=new Cat();
j.jump();//多态形式的方法编译看左边,运行看右边
//输出结果:猫跳高
}
}
- 接口的实现类要么全部重写接口的方法,要么本身为抽象类
//我们再建立一个狗实现类
/*public class Dog implements Jumpping{
如果我们不想重写接口的方法,那么我们只有将实现类变为抽象类;但是成为抽象类以后,其子类还是需要重写接口的所有方法
}*/
1.3 接口的成员特点
成员特点即讨论其有没有成员变量、构造方法、成员方法
我们尝试在接口内加入成员变量、成员方法:
总结:
- 接口中的属性均为常量、且为静态的,有着默认的修饰符:public static final
- 接口中的成员方法都是抽象的;有着默认的修饰符:public abstract
- 接口中没有构造器
注意:
接口不能实例化,只是通过其实现类实例化后,实现类对象的内存地址指向接口,接口就可以使用了。
1.4 类和接口的关系
类和类的关系:继承关系;只能单继承,不能多继承。
类和接口的关系:实现关系;可以单实现,也可以多实现,也可以在继承一个类的同时实现多个接口
接口和接口的关系:继承关系;可以单继承,也可以多继承
1.5 抽象类和接口的区别
成员区别:
抽象类:变量、常量、构造方法、抽象方法、非抽象方法
接口:常量、抽象方法
关系区别:
类与类:继承;单继承
类与接口:实现;单实现,多实现
接口与接口:继承;单继承,多继承
标签:Day25,接口,继承,详解,Jumpping,方法,public,实现 From: https://www.cnblogs.com/CQliuwei/p/16933470.html