一、今日学习
1.认识接口
(1)接口是一种特殊的抽象类
(2)接口中只能够包含抽象的方法和常量,不能有变量、初始化块和构造函数。
(3)接口中的方法都是抽象类,并没有方法具体的实现,接口中的方法,必须由接口的实现类来实现。
1 interface Student{ 2 int clas=0604; 3 void learning(); 4 void eat(); 5 void sleep(); 6 } 7 class Student1 implements Student{ 8 public void eat() { 9 System.out.println("学生正在学习"); 10 } 11 public void learning() { 12 System.out.println("学生正在吃饭"); 13 } 14 public void sleep() { 15 System.out.println("学生正在睡觉"); 16 } 17 }
2.接口的声明
(1)接口定义分为接口的声明和接口体,接口体由常量定义和方法定义两部分组成。
(2)格式:
[修饰符] interface 接口名 [extends 父接口名列表]{
[public] [static] [final] 常量;
[public] [abstract] 方法;
}
-
修饰符:可选,用于指定接口的访问权限,可选值为public,如果省略则使用默认的访问权限;
-
接口名:必选参数,用于指定接口的名称,接口名必须是合法的Java标识符,一般要求首字符大写;
-
extends 父接口名列表:可选参数,用于指定要定义的接口继承于哪个父接口,当使用extends关键字时,父接口名为必选参数;
-
方法:接口名中的方法只有被定义而没有被实现。
注意:与Java类文件一样,接口文件的文件名必须与接口名相同
3.使用接口
(1)接口不能单独实例化,要想实例化接口,必须通过接口的实现类来完成,接口的实现类,必须全部实现接口中的所以方法,接口就是标准,用来隔离具体实例的。
(2)接口定义后,在类中用关键字implements来实现接口。
[修饰符] class <类名> [extends 父类名] [implements 接口列表]{
}
-
修饰符:可选参数,用于指定类的访问权限,可选值为public、abstract和final
-
类名:必选参数,用于指定类的名称,类名必须是合法的Java标识符,一般要求是字母大写
-
extends 父类名:可选参数,用于指定要定义的类继承于哪个父类,当使用extends关键字时,父类名为必选参数
-
implements 接口列表:可选参数,用于指定该类实现的是哪些接口,当使用implements关键字时,接口列表为必选参数,当接口列表中存在多个接口时,各接口名之间使用逗号分隔。
(3)在类中实现接口时,方法的名字、返回值类型、参数的个数及类型必须与接口中的完全一致,并且必须实现接口中的所有方法
(4)接口的实例化:接口 对象名=new 接口的实现类();
二、遇到问题
对于接口的使用仍然比较陌生
三、明日学习
Java接口的特征归纳、接口继承与标记接口