什么是接口?接口就是一种特殊的抽象类,该类型中只能存在常量和抽象方法。
接口的格式:
[默认修饰符:public abstract]interface 接口名称{
类型 常量名称=值 }
(Interface在这里代替class)
默认修饰符可以省略
接口里的成员方法:
[默认修饰符:public abstract]返回值类型/void 方法名称(){
//这也表明了接口中只能存在抽象方法
}
举个例子:
interface t{
void show();//不能有方法体!
}//这就是一个接口
接口的特点:
特点一 用interface修饰,public abstract可以忽略
特点二 是实现类通过implements关键字去实现接口的
比如:
interface t{
public void show();
}
class tImpl implements t{
}
特点三 接口不能实例化,但如果接口有实现类,可以使用接口接收实现对象。
public class Review_interface1 {
public static void main(String[] args) {
//t MyInterface = new t();//报错,接口不能创建对象
t MyInterface = new tImpl();//但是借助实现类来实例化
}
interface t{
public void show();
}
class tImpl implements t{
}
如果要调用方法的话,实现类必须重写接口中的方法:
public class Review_interface1 {
public static void main(String[] args) {
//t MyInterface = new t();//报错,接口不能创建对象
t MyInterface = new tImpl();
MyInterface.show();
}
}
interface t{
public void show();
}
class tImpl implements t{
@Override//重写接口中的方法
public void show() {
System.out.println("哇");
}
}
特点四:实现类也可以是抽象类,但是不建议这样做,也很少见。因为抽象类不能实例化。
本来接口就不能实例化,好不容易可以借助实现类实例化,现在你又把实现类抽象化了人家真的不知道你要干什么了啦!!
至于接口的应用,我们在下一篇说明!