1.接口的作用:主要是帮助类能有更多的功能
2.语法格式:
interface 接口名字{
成员变量
成员方法
}
3.实现接口的关键字:implements
案例:
package com.mujin.dao;
/**
* 接口的案例
* @author 菲菲吖
*
*/
//使用关键字interface声明一个接口
//接口可以有属性,但是属性默认的修饰符是static 和 final,被成为常量,一般都大写
//由于final修饰的属性,一旦赋值就不能改变
interface C1 extends C{
public void test();
}
interface C{
public void print();
}
interface A {
//String name ;不赋值会报错
String NAME = "小白";//接口中的属性都为常量,一般不在接口写属性
//接口中的方法全部都是抽象方法,抽象方法不完整,如果想用的话必须在写一个普通方法去继承
public void add();//抽样方法没有方法体
//由于接口下面没有构造方法,无法实例化,所以需要用一个普通的类去实现接口,关键字为implement
}
//由于抽象类没有方法体,方法不完整,需要把所有的抽象方法重写一下
//可以把鼠标放在B上,点击Add unimplemented methods
class B implements A , C{//一个普通的类可以实现多个接口,弥补了单继承的局限性
//注意:一定要重写所有的抽象方法!!!!
@Override
public void add() {
// TODO Auto-generated method stub
System.out.println("B类的添加方法");
}
//B类也可以有自己的方法
public void play() {
System.out.println("B类的play方法");
}
@Override
public void print() {
// TODO Auto-generated method stub
System.out.println("打印");
}
}
public class Demo1 {
public static void main(String[] args) {
B b = new B();
b.add();
b.play();
}
}
4.总结:
1.使用关键字 interface 声明一个接口
2.接口可以有属性,但是属性默认的修饰符是static 和 final,被成为常量,一般都大写
3.接口下面全部抽象的方法,不带方法体的
4.jdk1.8以后是可以有默认(default)的方法的,这个默认方法带有方法体。
5.接口下面没有构造方法,不能被实例化
6.去使用一个普通的类去实现这个接口,使用关键字implements
7.一定要在实现类中去实现所有的抽象方法
8.一个普通的类可以实现多个接口,弥补了单继承的局限性
9.一个接口可以去继承另外一个接口