接口
接口概述
接口是一种公共的规范标准,符合标准规范便于通用
在Java中接口更多的体现在对行为的抽象
接口的特点
新建接口
在IDEA中新建一个Java文件,类别选择Interface
其中代码如下
package com.javalearn.myinterface;
/*
定义一个接口
*/
public interface Study {
public abstract void study();//定义一个抽象方法
}
创建一个实现类
再创建一个子类,实现这个接口
代码如下
package com.javalearn.myinterface;
public class Student implements Study{
@Override
public void study() {
System.out.println("学生多学习!");
}
}
需要注意的是类实现接口的关键字是implement
Demo测试
最后新建一个Demo,测试一下
代码如下
package com.javalearn.myinterface;
public class Demo {
public static void main(String[] args) {
Study st=new Student();//编译看左边,执行看右边
st.study();
}
}
注意接口是一个抽象的,因而不能直接实例化,可以参照多态,通过它的实现类study实现。
总结
总结一下
1.接口用关键字interface修饰
public interface 接口名{}
2.类实现接口用implements表示
public class 类名 implements 接口名{}
3.接口不能实例化,参照多态的方式,通过实 现类对象实例化,这叫接口多态。
==多态的形式==
具体多态,==抽象类多态,接口多态==
**具体多态几乎不用**
多态的前提:
1.==有继承或者实现关系==
2.有方法重写
3.有父(类/接口)引用指向(子/实现)类对象
4.接口的实现类,要么重写接口中的所有抽象方法,要么是抽象类
接口的成员特点
成员变量:
1.只能是常量
2.默认修饰符public static final
构造方法:
1.接口里没有构造方法,接口主要是对行为进行抽象,没有具体的存在
2.一个类如果没有父类,默认继承自Object类
成员方法
1.只能是抽象方法
2.默认修饰符public abstract
类和接口的关系
类和类的关系
继承关系:只能单继承,但是可以多层继承
类和接口的关系
实现关系:可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口
接口和接口之间的关系
继承关系:可以单继承,也可以多继承
Java中存在多继承,只是体现在接口的继承中
抽象类与接口之间的区别
成员区别
抽象类:变量、常量;有构造方法;有抽象方法和非抽象方法
接口:常量;抽象方法
关系区别
类与类:继承,单继承
类与接口:实现,可以单实现,也可以多实现
接口与接口:继承、单继承、多继承
设计理念的区别
抽象类:对类抽象,包括属性和行为
接口:对行为抽象,主要是行为