接口(Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合。
避免混淆,这里再区分一下,
‘接口‘与‘类‘属于不同的概念:
‘类‘ 描述对象的属性和方法。
‘接口‘ 则包含类要实现的方法。
1.接口无法被实例化,但是可以被实现。
2.一个类通过继承接口的方式,从而来继承接口的抽象方法。
接口的实现
当普通类实现接口的时候,普通类要实现接口中所有的方法。否则,普通类必须声明为抽象的类。是普通!!!
/**
* 接口
*/
public class Interface {
public static void main(String[] args) {
Volant v=new Angle();
v.fly();
Angle a=new Angle();
a.helpOther();
Honest h=new GoodMan();
h.helpOther();
BirdMan b=new BirdMan();
b.fly();
}
}
//飞行接口
interface Volant{ //接口中只能存在静态变量,抽象方法
int FLY_HEIGHT=100; //总是public static final类型的
void fly(); //总是public abstract void fly();
}
//善良接口
interface Honest{
void helpOther();
}
//Angle类实现飞行、善良接口
class Angle implements Volant,Honest{ //实现类可以实现多个父接口
@Override
public void fly() {
System.out.println("穿上天使神装,(๑╹◡╹)ノ");
}
@Override
public void helpOther() {
System.out.println("当个小雷锋");
}
}
class GoodMan implements Honest{ //子类通过implements来实现接口中的规范
public void helpOther(){
System.out.println("当个小雷锋");
}
}
class BirdMan implements Volant{
public void fly(){
System.out.println("穿上天使神装,(๑╹◡╹)ノ");
}
}
接口的设计解决了java只能单继承的缺点,可以实现多个接口来实现java的多继承。
public class interface1 {
}
interface Tumbler{ //杯子
void t();
}
interface HUAWEIMobilePhone{
void h();
}
interface ComputerHP extends Tumbler,HUAWEIMobilePhone{//接口可以多继承,接口 C 继承 T 和 H
void c();
}
class room implements ComputerHP{
@Override
public void t() {
System.out.println("就要喝完了");
}
@Override
public void h() {
System.out.println("没有耳机接口,抓狂");
}
@Override
public void c() {
System.out.println("使用还算满意");
}
}