------- android培训、java培训、期待与您交流! ----------
接口
1. 格式: interface{}
2. 接口中的成员修饰符是固定的:
成员变量:public static final
成员函数:public abstract
4. 接口的特点:
1 接口是对外暴露的原则
2 接口是程序的功能扩展
3 接口可以用来多实现
4 类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口
5 接口与接口之间可以有继承关系
接口语法汇总:
a.当创建接口类型时,需要在类型声明时使用interface关键字,来表示这个类型是一个接口。
b.接口需要使用abstract修饰,表示类型是抽象的。当省略abstract时,java编译器会在编译时默认给接口加上这个修饰符。
c.接口中的方法都只能是抽象方法,必须使用public和abstract修饰的。同样,这里的abstract和public可以省略。
d.接口是不可以创建对象的,因为有抽象方法,需要被子类实现,子类对接口中的抽象方法全部覆盖后,
子类才可以实例化,否则子类就是一个抽象类。
e.在类中使用implements关键字可以声明一个类需要实现一个或者多个接口。
实现一个接口需要在类中提供接口中规定的所有抽象方法,否则编译失败。
f.实现一个抽象方法时,类中对应的方法必须与抽象方法签名完全相同,但是返回值类型
则要求类中的方法返回值兼容抽象方法的返回值。
g.我们可以认为实现一个接口中的抽象方法其实就是覆盖父类中的方法。
h.接口是对外暴露的原则
i. 接口是程序的功能扩展
j. 接口可以用来多实现
k. 类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口
l. 接口与接口之间可以有继承关系
代码奉上:
abstract class Student
{
abstract void study();
void sleep()
{
System.out.println("sleep");
}
}
interface Smoking //接口,抽烟
{
void smoke();
}
class ZhangSan extends Student implements Smoking //实现抽烟接口。
{
void study(){}
public void smoke(){}
}
class Lisi extends Student
{
}
abstract class Sporter
{
abstract void play();
}
interface Study
{
}
class wangwu extends Sport implements Study
{
}